sesuatu seperti
Select * from TableName where Name Like 'Spa%'
ORDER BY case when soundex(name) = soundex('Spa') then '1' else soundex(name) end
harus bekerja baik-baik saja.
sebenarnya ini akan bekerja lebih baik
Select * from TableName where Name Like 'Spa%'
ORDER BY DIFFERENCE(name, 'Spa') desc;
FWIW Saya melakukan beberapa tes cepat dan jika 'Nama' ada dalam INDEKS TIDAK TERMASUK SQL akan menggunakan indeks dan tidak melakukan pemindaian tabel. Juga, LIKE tampaknya menggunakan lebih sedikit sumber daya daripada charindex (yang mengembalikan hasil yang kurang diinginkan). Diuji pada sql 2000.