sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server 2005 Använder CHARINDEX() För att dela en sträng

Jag skulle inte precis säga att det är lätt eller självklart, men med bara två bindestreck kan du vända på strängen och det är inte för 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;

Utöver det och du kanske vill använda split() istället.



  1. @-symbol i lagrad procedur?

  2. Försöker du få resultatet i en rad med sql?

  3. Var får jag libpq-källan?

  4. varför måste jag använda mb_convert_encoding($name,'ISO-8859-15','utf-8') för att få accenttecken att visas?