从分隔的字符串中获取单词

Get a word from delimited a string

我正在处理句子字符串,需要从段落中获取特定句子。

示例输入 ‘汤姆是一只猫。他喜欢在外面玩。他也喜欢吃东西。’

分隔符是'.',如果我需要第二句那么: 结果应该是“他喜欢在外面玩”

这应该通过 ms sql 标量函数完成。

您需要调整数据类型和搜索位置(我不知道您可能有多少空格之类的)以满足您的需要,但这里是基础知识:

create function dbo.udf_SecondSentence (@s varchar(200))
returns varchar(200)
begin
    declare @n1 int
    , @n2 int

    set @n1 = CHARINDEX('.', @s)
    set @n2 = CHARINDEX('.', @s, CHARINDEX('.', @s) + 1)

    return SUBSTRING(@s, @n1 + 2, @n2 - @n1 - 2)
end
go


select dbo.udf_SecondSentence('Tom is a cat. He loves playing outside. He also love eating.')