Berikut adalah MSDN harus mengatakan tentang konstanta karakter yang dalam arti non-integer constant
1) Konstanta bukan bilangan bulat adalah ... konstanta yang bukan bilangan bulat.
Contoh:'string1' mewakili konstanta string
0x01 mewakili konstanta varbinary
{ts '2015-02-26 06:00:00'} mewakili konstanta datetime
1.23 mewakili konstanta numerik
2) Jadi tanda kutip tunggal digunakan untuk mendefinisikan konstanta string / konstanta string karakter tetapi SQL Server memungkinkan juga untuk menggunakan tanda kutip tunggal gunakan juga sebagai pembatas pengidentifikasi kolom:
SELECT ... expression AS 'Column1'
FROM ...
Dalam konteks ini jelas bahwa 'Column1' adalah pengidentifikasi kolom tetapi ketika digunakan dalam ORDER BY :ORDER BY 'Column1' itu menghasilkan kebingungan karena SQL Server tidak tahu apakah itu mewakili string literal (karakter string konstan) atau mewakili pengidentifikasi kolom / nama kolom.
3) SQL Server memungkinkan untuk menggunakan konstanta integer dalam ORDER BY sehingga SELECT ColA, ColB, ColC FROM ... ORDER BY 2 . Dalam hal ini 2 adalah indeks kolom ColB . Juga, jika Anda ingin mengurutkan berdasarkan ColB dan ColC anda bisa menggunakan ORDER BY 2, 3 . Penggunaan indeks kolom dianggap sebagai praktik yang buruk.
4) Dalam hal ini saya akan menggunakan
ORDER BY EMP_LAST_NAME + ', ' + EMP_FIRST_NAME