Sql server 2012 SQL Server中的特定字符串提取

Sql server 2012 SQL Server中的特定字符串提取,sql-server-2012,Sql Server 2012,如何从Abbotsford-Val-Bldg-fenging中仅提取fenging,我有一个表,表中有一列不同的值,我需要提取Val-Bldg-后面的单词。 由于不同值的长度未知,请提供帮助。以下是几种方法: DECLARE @S varchar(100) = 'Abbotsford -Val Bldg - Fencing' SELECT STUFF(@S, 1, PATINDEX('%Val Bldg -%', @S) + 10, '') As [Stuff], SUBST

如何从
Abbotsford-Val-Bldg-fenging
中仅提取
fenging
,我有一个表,表中有一列不同的值,我需要提取
Val-Bldg-
后面的单词。
由于不同值的长度未知,请提供帮助。

以下是几种方法:

DECLARE @S varchar(100) = 'Abbotsford -Val Bldg - Fencing'

SELECT  STUFF(@S, 1, PATINDEX('%Val Bldg -%', @S) + 10, '') As [Stuff],
        SUBSTRING(@S, PATINDEX('%Val Bldg -%', @S) + 11, LEN(@S)) As [Substring]
结果:

Stuff       Substring
Fencing     Fencing

欢迎来到stackoverflow。请花一分钟时间回答问题,特别是如何回答问题,以及您的相应问题。非常感谢,因为我是SQL Server 2016的新手。您能告诉我如何将此应用于一个专栏吗?因为这里我们只说明了一个特定值“'Abbotsford-Val Bldg-Fenging”,如何在列中尝试不同的值。非常感谢您的帮助:-)我也尝试了下面的查询,它也起了作用…从表中选择子字符串(子字符串(I.[列名]、CHARINDEX('Bldg',I.[列名])、len(I.[列名])、7、len(I.[列名])作为项_名称;