sql >> Database >  >> RDS >> Sqlserver

SQL Server 2005 CHARINDEX() gebruiken Een tekenreeks splitsen

Ik zou niet precies zeggen dat het gemakkelijk of voor de hand liggend is, maar met slechts twee koppeltekens kun je de string omdraaien en het is niet te moeilijk:

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;

Verder dan dat en misschien wil je split() . gebruiken in plaats daarvan.



  1. Fout:de methode of bewerking is niet geïmplementeerd. tijdens het steigeren van MYSQL-database

  2. Hoe rijen in te vullen op basis van gebeurtenistypegegevens

  3. SQL QUERY meerdere zoekopdrachten in één rij om gegevens uit een andere rij in dezelfde tabel te vinden

  4. Zou ik de prijs als decimaal of geheel getal opslaan in Mysql?