【发布时间】:2018-12-24 23:51:32
【问题描述】:
早安,
我为此工作了一个小时,我想在特定列中提取特定单词
这是我的 sql 查询
DECLARE @string_of_text NVARCHAR(MAX)='This is sample text that will retrieve all text with CVE-2014-1775, CVE-2014-1779, CVE-2014-1799, CVE-2014-1803, and CVE-2014-2757.'
DECLARE @get_str NVARCHAR(MAX)=''
DECLARE @flag INT=1
DECLARE @move INT=1
WHILE PATINDEX('%CVE-%', SUBSTRING(@string_of_text
,@move,LEN(@string_of_text )))>0
BEGIN
SET @str=SUBSTRING(@string_of_text ,@move,LEN(@string_of_text ))
SET @flag= PATINDEX('%CVE-%', @string_of_text )
SET @get_str = @get_str +','+SUBSTRING(@string_of_text , @flag,13)
SET @move=@flag+13
END
SELECT STUFF(@get_str ,1,1,'') 'CVE LIST'
样本结果
CVE 列表 CVE-2014-1775、CVE-2014-1779、CVE-2014-1799、CVE-2014-1803、CVE-2014-2757
【问题讨论】:
标签: sql sql-server-2008 tsql sql-server-2005