Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Warum ist [Datum] + ([Uhrzeit] - [Offset]) in SQL Server 2008 nicht deterministisch?

Ihr '1900-01-01' ist nicht deterministisch, da es von den Spracheinstellungen abhängt. natürlich ist dies für DMY- oder MDY-Einstellungen eindeutig, aber im Allgemeinen ist es mehrdeutig

Versuchen Sie '19000101' :SQL Server behandelt Datums- und Zeitangaben etwas seltsam:"JJJJ-MM-TT" kann als "JJJJ-TT-MM" behandelt werden, wenn Sie britische Einstellungen haben, obwohl es sich theoretisch um ISO handelt

Bearbeiten:Verwenden Sie dies, um den Datumsaspekt zu entfernen:DATEADD(day, 0, DATEDIFF(day, 0, [time]))

Edit2:1. Januar 1900 ist Null in den Datetime-Formaten, also muss es nicht subtrahiert werden. Können Sie bitte Beispieldaten und -ausgabe posten?