Gebruik in plaats van '2013-04-12' waarvan de betekenis afhangt van de lokale cultuur, '20130412', dat wordt erkend als het cultuurinvariante formaat.
Als je wilt vergelijken met 4 december, moet je '20131204' schrijven. Als je wilt vergelijken met 12 april, moet je '20130412' schrijven.
In het artikel Internationale Transact-SQL-statements schrijven uit de documentatie van SQL Server wordt uitgelegd hoe je statements schrijft die cultuurinvariant zijn:
Toepassingen die andere API's of Transact-SQL-scripts, opgeslagen procedures en triggers gebruiken, moeten de niet-gescheiden numerieke tekenreeksen gebruiken. Bijvoorbeeld jjjjmmdd als 19980924.
BEWERKEN
Aangezien u ADO gebruikt, is de beste optie om de query te parametriseren en de datumwaarde door te geven als een datumparameter. Op deze manier vermijdt u het formaatprobleem volledig en profiteert u ook van de prestatievoordelen van geparametriseerde zoekopdrachten.
UPDATE
Om het ISO 8601-formaat letterlijk te gebruiken, moeten alle elementen worden gespecificeerd. Om te citeren uit het ISO 8601-gedeelte van de datetime-documentatie
Om het ISO 8601-formaat te gebruiken, moet u elk element in het formaat specificeren. Dit omvat ook de T, de dubbele punten (:), en de punt (.) die in het formaat worden weergegeven.
... de fractie van de tweede component is optioneel. De tijdcomponent wordt gespecificeerd in het 24-uursformaat.