Ich glaube nicht, dass SQL Server eine eingebaute Split-Funktion hat, also ist die einzige andere Antwort, die ich kenne, außer einer UDF, die PARSENAME-Funktion zu entführen:
SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 2)
PARSENAME nimmt einen String und teilt ihn am Punkt-Zeichen. Es nimmt eine Zahl als zweites Argument, und diese Zahl gibt an, welches Segment des Strings zurückgegeben werden soll (von hinten nach vorne).
SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 3) --return Hello
Offensichtliches Problem ist, wenn die Zeichenfolge bereits einen Punkt enthält. Ich denke immer noch, dass die Verwendung einer UDF der beste Weg ist ... irgendwelche anderen Vorschläge?