Alih-alih '2013-04-12' yang artinya tergantung pada budaya lokal, gunakan '20130412' yang dikenal sebagai format invarian budaya.
Jika Anda ingin membandingkan dengan 4 Desember, Anda harus menulis '20131204'. Jika ingin membandingkan dengan 12 April, tulis '20130412'.
Artikel Write International Transact-SQL Statements dari dokumentasi SQL Server menjelaskan cara menulis pernyataan yang bersifat culture invariant:
Aplikasi yang menggunakan API lain, atau skrip Transact-SQL, prosedur tersimpan, dan pemicu, harus menggunakan string numerik yang tidak dipisahkan. Misalnya, yyyymmdd sebagai 19980924.
EDIT
Karena Anda menggunakan ADO, opsi terbaik adalah membuat parameter kueri dan meneruskan nilai tanggal sebagai parameter tanggal. Dengan cara ini Anda menghindari masalah format sepenuhnya dan mendapatkan manfaat kinerja dari kueri berparameter juga.
PERBARUI
Untuk menggunakan format ISO 8601 secara literal, semua elemen harus ditentukan. Mengutip dari bagian ISO 8601 dari dokumentasi datetime
Untuk menggunakan format ISO 8601, Anda harus menentukan setiap elemen dalam format. Ini juga mencakup T, titik dua (:), dan titik (.) yang ditampilkan dalam format.
... pecahan dari komponen kedua adalah opsional. Komponen waktu ditentukan dalam format 24 jam.