Saya tidak percaya SQL Server memiliki fungsi split bawaan, jadi selain UDF, satu-satunya jawaban lain yang saya tahu adalah membajak fungsi PARSENAME:
SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 2)
PARSENAME mengambil string dan membaginya pada karakter titik. Dibutuhkan angka sebagai argumen kedua, dan angka itu menentukan segmen string mana yang akan dikembalikan (berfungsi dari belakang ke depan).
SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 3) --return Hello
Masalah yang jelas adalah ketika string sudah berisi titik. Saya masih berpikir menggunakan UDF adalah cara terbaik...ada saran lain?