sql >> Databáze >  >> RDS >> Sqlserver

Jak vybrat řetězec mezi dvěma řetězci ve sloupci na serveru SQL?

Pro ukázková data níže

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

můžete použít

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

Pokud si všimnete, odebírám 2 znaky na konci podřetězce, abych odstranil 'M' z Manufacturer Part a mezera před skutečným textem. Můžete použít RTRIM ale zvolil jsem tento způsob.



  1. ORACLE SQL Group Stále dává duplikáty

  2. Vícesloupcový primární klíč MySQL

  3. Získávání podivných znaků při načítání hodnoty v databázi mysql

  4. Funkce sledování závislostí