sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo seleccionar una cadena entre dos cadenas en una columna en SQL Server?

Para una muestra de datos de abajo

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

puedes usar

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

Si nota que estoy eliminando 2 caracteres al final de la subcadena para eliminar 'M' de Manufacturer Part y el espacio antes del texto real. Puedes usar RTRIM pero elegí este camino.