sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man väljer en sträng mellan två strängar i en kolumn i SQL Server?

För ett exempel på data nedan

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

du kan använda

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

Om du märker att jag tar bort 2 tecken i slutet av understrängen för att eliminera "M" från Manufacturer Part och utrymmet före själva texten. Du kan använda RTRIM men jag valde det här sättet.



  1. Hur man lägger till en separator till en sammanfogad sträng i SQL Server – CONCAT_WS()

  2. java.lang.ArrayIndexOutOfBoundsException:för jdbc-anslutning

  3. WHERE-satsen ger olika resultat oavsett om det är i underfråga eller inte

  4. flytta data från en tabell till en annan, postgresql edition