sql >> Database >  >> RDS >> Sqlserver

Hoe splits ik een string zodat ik toegang heb tot item x?

Ik geloof niet dat SQL Server een ingebouwde split-functie heeft, dus behalve een UDF, is het enige andere antwoord dat ik weet, de PARSENAME-functie te kapen:

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

PARSENAME neemt een string en splitst deze op het punt-teken. Het neemt een getal als tweede argument en dat getal geeft aan welk segment van de tekenreeks moet worden geretourneerd (van achteren naar voren).

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

Een voor de hand liggend probleem is wanneer de string al een punt bevat. Ik denk nog steeds dat het gebruik van een UDF de beste manier is... nog andere suggesties?



  1. Omgaan met zeer ernstige fouten in SQL Server

  2. Verbindingstime-out voor DriverManager getConnection

  3. Waarom heeft PostgreSQL gebruikers en groepen samengevoegd tot rollen?

  4. Hoe SQL Server op Windows te installeren