109,882
社区成员




DECLARE @s nvarchar(max)
SET @s='XXXXXXXXXXXXX。因为香蕉,所以哈密瓜,,,,,。
因为菠萝,所以橘子,,。'
--以句号(。)作为每个因为,所以的分隔符
DECLARE @splitor varchar(2)
SET @splitor='。'
DECLARE @tb TABLE
(
sentence nvarchar(max)
)
WHILE(1=1)
BEGIN
IF CHARINDEX(@splitor, @s) = 0
BREAK;
INSERT INTO @tb --截取每个句号作为一个sentence,对每个sentence循环处理
SELECT
CASE WHEN SUBSTRING(@s,1, CHARINDEX(@splitor, @s)-1) LIKE '%因为%所以%'
THEN SUBSTRING(@s,1, CHARINDEX(@splitor, @s)-1)
ELSE NULL
END sentence
--将每个sentence替换为空字符串
SET @s = REPLACE(@s, SUBSTRING(@s,1, CHARINDEX(@splitor, @s)), '')
END
SELECT * FROM @tb
---所有 因为所以 分句都包含在@tb表变量中
select * from Article where Exptxt like '%因为%' and like'%所以%'