Jika Anda harus menggunakan format tanggal berbasis string, Anda harus memilih yang aman dan berfungsi di setiap instance SQL Server, terlepas dari format tanggal, bahasa, dan pengaturan regional.
Format tersebut dikenal sebagai ISO-8601 format dan itu baik
YYYYMMDD (note: **NO** dashes!)
atau
YYYY-MM-DDTHH:MM:SSS
untuk DATETIME
kolom.
Jadi, alih-alih
Convert(datetime, '28/11/2012', 103)
Anda harus menggunakan
CAST('20121128' AS DATETIME)
dan kemudian Anda harus baik-baik saja.
Jika Anda menggunakan SQL Server 2008 - Anda juga dapat menggunakan DATE
(bukan DATETIME
) untuk kasus-kasus ketika Anda hanya membutuhkan tanggal (tidak ada porsi waktu). Itu akan lebih mudah daripada menggunakan DATETIME
dan memiliki porsi waktu selalu 00:00:00