Ini adalah versi yang menggunakan SUBSTRING
dan CHARINDEX
untuk versi SQL SERVER sebelum SQL Server 2016 saat STRING_SPLIT
diperkenalkan.
Salah satu dari berikut ini berfungsi:
SELECT SUBSTRING(@string, CHARINDEX(' ', @string) +1, 20)
SELECT SUBSTRING(@string, CHARINDEX(' ', @string) +1, DATALENGTH(@string) - CHARINDEX(' ', @string) +1 )
Kita perlu mencari posisi spasi menggunakan CHARINDEX (yang mengembalikan angka yang menunjukkan di mana string (spasi) dimulai. Namun string yang ingin kita pilih dimulai setelah spasi, oleh karena itu kita harus menambahkan 1 (+1) ke posisi awal SUBSTRING kita sehingga posisi awal menjadi CHARINDEX(' ', @string) + 1.
Argumen ke-3 untuk SUBSTRING adalah panjang string yang akan dipilih, dalam kasus pertama saya hanya berasumsi bahwa string yang Anda tentukan sebagai varchar (20) tidak boleh lebih dari 20 karakter maka saya menggunakan 20. Catatan SUBSTRING tidak akan mencoba untuk pilih karakter yang melewati akhir string, sehingga aman untuk menentukan panjang yang lebih panjang dari jumlah karakter yang tersisa.
Contoh kedua saya mendapatkan panjang string untuk dipilih berdasarkan panjang total string (DATALENGTH) dikurangi jumlah karakter sebelum pilihan kami (CHARINDEX + 1)