我想获取表的列中两个字符串之间的字符串。如何选择列?我已经写了两边的弦。谁能帮我在这里如何在字符串中包含列名?
DECLARE @Text NVARCHAR(MAX)
SELECT
SUBSTRING(@Text, CHARINDEX('Manufacturer Name : ', @Text),
CHARINDEX('Manufacturer Part',@text) - CHARINDEX('Manufacturer Name : ', @Text) + LEN('Manufacturer Part'))
FROM
tbIMPACArchiveNew
WHERE
(Description LIKE '%Manufacturer Name: %'
OR Description LIKE '%Manufacturer Name : %')
AND Description LIKE '%Manufacturer Part%'
预期结果:
Column A Expected result
Manufacturer Name : ABC Manufacturer Part Number : XVB-C2B4 ABC
Manufacturer Name : DEF Manufacturer Part Number : 3RH1924-1GP11 DEF
Manufacturer Name : ABJ Manufacturer Part Number : FLDP-IOM248-0001 ABJ
Manufacturer Name : HIJ Manufacturer Part Number : L12/5MLLD0035 HIJ
Manufacturer Name : abhkdk Manufacturer Part Number : PEH1083510 abhkdk
Manufacturer Name : 1245 PUMP Manufacturer Part Number : 02-1010-55 1245
这是一种提取两个固定字符串之间的文本的方法。不完全确定您正在使用@Text变量做什么,因此我在下面用作示例。
DECLARE @Text NVARCHAR(MAX) = 'blah blah Manufacturer Name : MY NAME Manufacturer Part blah blah'
SELECT SUBSTRING(@Text, CHARINDEX('Manufacturer Name : ', @Text) + LEN('Manufacturer Name : ') + 1, CHARINDEX('Manufacturer Part',@Text) - (CHARINDEX('Manufacturer Name : ', @Text) + 2 + LEN('Manufacturer Name : ')) )
SELECT SUBSTRING(Description, CHARINDEX('Manufacturer Name : ', Description) + LEN('Manufacturer Name : ') + 1, CHARINDEX('Manufacturer Part',Description) - (CHARINDEX('Manufacturer Name : ', Description) + 2 + LEN('Manufacturer Name : ')) )
FROM tbIMPACArchiveNew
WHERE Description LIKE '%Manufacturer Name : %Manufacturer Part'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句