【发布时间】:2020-11-13 14:06:56
【问题描述】:
我有以下文字:
"原创-----牛跳过月亮----- 20200723 --NEW--牛跳过太阳-----"
我正在尝试编写一个 t-sql 查询,它将提取字符串“Original -----”和以下“-----”之间的所有内容,所以我的结果是:
“原创-----牛跃月-----”
我试过这样写:
declare @Text nvarchar(max) = 'Original ----- The cow jumped over the moon ----- 20200723 --NEW-- The cow jumped over the sun ----- '
select SUBSTRING(@Text, CHARINDEX('Original ----- ', @Text)
, CHARINDEX(' ----- ',@Text) - CHARINDEX('Original ----- ', @Text) + Len(' ----- '))
但它只返回Original -----。
请帮忙!
【问题讨论】:
-
CHARINDEX(' ----- ',@Text) - CHARINDEX('Original ----- ', @Text)两次找到' ----- '的相同匹配项。