Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server 2005 Verwenden von CHARINDEX() So teilen Sie eine Zeichenfolge auf

Ich würde nicht gerade sagen, dass es einfach oder offensichtlich ist, aber mit nur zwei Bindestrichen können Sie die Zeichenfolge umkehren und es ist nicht zu schwer:

with t as (select 'LD-23DSP-1430' as val)
select t.*,
       LEFT(val, charindex('-', val) - 1),
   SUBSTRING(val, charindex('-', val)+1, len(val) - CHARINDEX('-', reverse(val)) - charindex('-', val)),
       REVERSE(LEFT(reverse(val), charindex('-', reverse(val)) - 1))
from t;

Darüber hinaus möchten Sie vielleicht split() verwenden stattdessen.