Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come selezionare una stringa tra due stringhe in una colonna in SQL Server?

Per un esempio di dati di seguito

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

puoi usare

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

Se noti che sto rimuovendo 2 caratteri alla fine della sottostringa per eliminare 'M' da Manufacturer Part e lo Spazio prima del testo vero e proprio. Puoi usare RTRIM ma ho scelto così.