从sql中关键字后的文本中提取字符串?

从sql中关键字后的文本中提取字符串?,sql,sqlite,Sql,Sqlite,我有必要在关键字之后从SQL字段中的文本中提取内容。例如,如果表中有一个名为description的字段,该字段的表内容为: 描述 关键词狗 关键词猫 关键词狼 我想提取并保存“关键字”(在本例中是dog、cat和wolf)之后的文本,并将其保存在视图中,或者简单地用select显示它。 谢谢。下面是一个使用SUBSTRING()的示例: 另一个例子: declare @YourField varchar(200) = 'Mary had a little lamb' declare @Keyw

我有必要在关键字之后从SQL字段中的文本中提取内容。例如,如果表中有一个名为description的字段,该字段的表内容为:

描述 关键词狗

关键词猫

关键词狼

我想提取并保存“关键字”(在本例中是dog、cat和wolf)之后的文本,并将其保存在视图中,或者简单地用select显示它。
谢谢。

下面是一个使用
SUBSTRING()
的示例:

另一个例子:

declare @YourField varchar(200) = 'Mary had a little lamb'
declare @Keyword varchar(200) = 'had'
select SUBSTRING(@YourField,charindex(@Keyword,@YourField) + LEN(@Keyword), LEN(@YourField) )
结果:

 a little lamb

请注意,此字符串中的“a”前面有一个空格。

可能与此相关:出于好奇,可能会出现重复的情况,否决票的原因是什么?是我误解了这个问题,还是我的回答不够?那不是我投的反对票。然而,我认为这是我的正确答案question@zim90不用担心,很高兴它有帮助这似乎是网上最优雅的解决方案。我在TechNet论坛上看到过其他几个被标记为无效答案或是5行或更多行的答案。
SELECT SUBSTRING(ColumnName, CHARINDEX('Keyword', ColumnName), LEN(ColumnName)) FROM TableName
SELECT SUBSTRING(ColumnName, CHARINDEX('Keyword', ColumnName), LEN(ColumnName)) FROM TableName