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