Tuang atau Konversikan datetime?
Apa yang harus dipilih: Cast
atau Convert
untuk datetimes (Microsoft SQL Server)?
Saya telah melihat MSDN Specifications. Sekilas tampaknya tidak ada perbedaan, kecuali sintaksnya:
Sintaks untuk CAST:
CAST ( expression AS data_type [ ( length ) ] )
Sintaks untuk CONVERT:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
Dan CAST adalah ANSI-standard, yang membuatnya lebih portabel di berbagai platform database yang berbeda.
3
2
convert
memiliki parameter opsionalstyle
, dan saya menyarankan untuk menggunakanconvert
daripadacast
. Ini membantu untuk menghindari kebingungan. Sebagai contoh, jika Anda menuliscast('20130302' as date)
, apa yang akan Anda dapatkan? 2 Maret atau 3 Februari?Juga, jika anda ingin format tertentu ketika casting ke tanggal ke string, anda terikat untuk menggunakan
convert
Tautan MSDN Specification yang telah Anda posting, Jika Anda membaca dengan seksama, Anda akan menemukan jawaban Anda di bawah bagian G:
Contoh berikut menampilkan tanggal dan waktu saat ini, menggunakan CAST untuk mengubah tanggal dan waktu saat ini ke tipe data karakter, dan kemudian menggunakan CONVERT menampilkan tanggal dan waktu dalam format ISO 8901.
Berikut adalah set hasilnya.
(1 baris yang terpengaruh)
Anda bisa melihat dengan jelas perbedaannya.
Pembaruan
Periksa ini: http://blog.sqlauthority.com/2012/11/21/sql-server-display-datetime-in-specific-format-sql-in-sixty-seconds-033-video/