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

Hvordan deler jeg en streng, så jeg kan få adgang til element x?

Jeg tror ikke, at SQL Server har en indbygget split-funktion, så bortset fra en UDF, er det eneste andet svar, jeg kender, at kapre funktionen PARSENAME:

SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 2) 

PARSENAME tager en streng og deler den på punkttegn. Det tager et tal som sit andet argument, og det tal specificerer, hvilket segment af strengen, der skal returneres (arbejder bagfra og frem).

SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 3)  --return Hello

Et åbenlyst problem er, når strengen allerede indeholder et punktum. Jeg tror stadig, at det er den bedste måde at bruge en UDF... andre forslag?



  1. PDO::PARAM for type decimal?

  2. SQL Server-outputklausul til en skalarvariabel

  3. Git-tip og bedste praksis for begyndere

  4. Hvilke brancher har størst gavn af adgang?