Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie wähle ich eine Zeichenfolge zwischen zwei Zeichenfolgen in einer Spalte in SQL Server aus?

Beispieldaten unten

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')

Sie können

verwenden
select substring(data, 
                 charindex('Manufacturer Name : ', data) + len('Manufacturer Name : '),
                 charindex('Manufacturer Part : ',data) - len('Manufacturer Part :') - 2) as Manufacturer_Name
       , descr
from @table

Wenn Sie bemerken, dass ich 2 Zeichen am Ende der Teilzeichenfolge entferne, um „M“ aus dem Manufacturer Part zu entfernen und das Leerzeichen vor dem eigentlichen Text. Sie können RTRIM verwenden aber ich habe diesen Weg gewählt.