Dlouhá léta jsem věřil, že pro textový zápis data (nebo data a času) je nejjistější používat ANSI SQL formát:
‘yyyy-mm-dd’ (nebo ‘yyyy-mm-dd hh:mi:ss’).
Není tomu tak – tento formát je poplatný jazykovému nastavení aktuální SQL connection.
Příklad:

Žil jsem tedy přes 10 let v bludu. Kajícně jsem si v článku v Books Online dohledal, že jazykově nezávislé formáty data v SQL Serveru jsou například:
- ‘yyyymmdd’ nebo ‘yyyymmdd hh:mi:ss’
ISO 8601 un-separated
- ‘yyyy-mm-ddThh:mi:ss’
ISO 8601 datetime
(podle Books Online není jazykově nezávislý, ale podle mých pokusů i jiných zdrojů je nezávislý)
- {d’yyyymmdd’} nebo {ts’yyyymmdd' hh:mi:ss’}
ODBC formáty
POZN: Nové datové typy SQL Serveru 2008 jsou více jazykově neutrální – pro datový typ Date, DateTime2 nebo DateTimeOffset je jazykově neutrální i můj původně profanovaný formát ‘yyyy-mm-dd’ (nebo ‘yyyy-mm-dd hh:mi:ss’).
Příklady:

Další informace jsou moc hezky sepsané a shrnuté v následujícím článku:
http://www.karaszi.com/SQLServer/info_datetime.asp (zejména v kapitole “Date and time formats for input”).