sql >> Database >  >> RDS >> Sqlserver

Hoe selecteer ik een string tussen twee strings in een kolom in SQL Server?

Voor een voorbeeld van onderstaande gegevens

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

je kunt

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

Als u merkt dat ik 2 tekens aan het einde van de subtekenreeks verwijder om 'M' uit Manufacturer Part te verwijderen en de spatie vóór de eigenlijke tekst. U kunt RTRIM . gebruiken maar ik heb voor deze manier gekozen.



  1. Een kolomnaam als parameter doorgeven aan een opgeslagen procedure in mySQL

  2. Wordt MySQL LIMIT toegepast voor of na ORDER BY?

  3. Hoe retourneer ik een element van string_to_array() in PostgreSQL 8.4?

  4. Hoe het langzame query-logboek in MySQL in te schakelen?