sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server 2005 Brug af CHARINDEX() Til at opdele en streng

Jeg vil ikke ligefrem sige, at det er let eller indlysende, men med kun to bindestreger kan du vende strengen, og det er ikke for svært:

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;

Ud over det, og du vil måske bruge split() i stedet.



  1. Flere stigende rækkefølge virker ikke i Mysql

  2. Hvordan håndterer man en Empty IN-klausul inde i en SQL Select Statement (IBatis 2)?

  3. Ændre skema for flere PostgreSQL-funktioner i én operation?

  4. indstille maksimal værdi til en kolonne