Wenn Sie ein zeichenfolgenbasiertes Datumsformat verwenden müssen, sollten Sie eines auswählen, das sicher ist und funktioniert in jeder SQL Server-Instanz, unabhängig von Datumsformat, Sprache und regionalen Einstellungen.
Dieses Format ist als ISO-8601 bekannt Format und entweder
YYYYMMDD (note: **NO** dashes!)
oder
YYYY-MM-DDTHH:MM:SSS
für ein DATETIME
Spalte.
Also statt
Convert(datetime, '28/11/2012', 103)
sollten Sie verwenden
CAST('20121128' AS DATETIME)
und dann sollte es dir gut gehen.
Wenn Sie SQL Server 2008 verwenden - Sie könnten sich auch mit der Verwendung von DATE
befassen (anstelle von DATETIME
) für Fälle, in denen Sie nur das Datum benötigen (kein Zeitanteil). Das wäre noch einfacher als die Verwendung von DATETIME
und dass der Zeitabschnitt immer 00:00:00
ist