gpt4 book ai didi

sql - 如何在 SQL Server 中的一列中的两个字符串之间选择一个字符串?

转载 作者:行者123 更新时间:2023-12-03 23:56:35 25 4
gpt4 key购买 nike

我想获取表格列中两个字符串之间的字符串。如何选择列?我已经写了两边的字符串。任何人都可以帮助我如何在此处包含字符串中的列名吗?

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

最佳答案

对于以下示例数据

declare @table table (id int identity(1,1), data varchar(1000), descr varchar(1000))

insert into @table values ('Manufacturer Name : Manufacturer 1 Manufacturer Part : asjdfj','First Manufacturer')
insert into @table values ('Manufacturer Name : Manufacturer 2 Manufacturer Part : asjsadfasdfdfj','Second Manufacturer')
insert into @table values ('Manufacturer Name : Manufacturer 3 Manufacturer Part : er6ty','Third Manufacturer')

您可以使用
select substring(data, 
charindex('Manufacturer Name : ', data) + len('Manufacturer Name : '),
charindex('Manufacturer Part : ',data) - len('Manufacturer Part :') - 2) as Manufacturer_Name
, descr
from @table

如果您注意到我正在删除子字符串末尾的 2 个字符以消除 Manufacturer Part 中的 'M'和实际文本之前的空间。您可以使用 RTRIM但我选择了这种方式。

关于sql - 如何在 SQL Server 中的一列中的两个字符串之间选择一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45618519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com