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

SQL Server Datetime-Probleme. Amerikaner vs. Briten?

Sie können SPRACHE EINSTELLEN verwenden um das Datumsformat auszuwählen, das SQL Server erwartet in Abfragen (ich denke, Management Studio verwendet die regionalen Einstellungen des Client-Computers für Anzeigezwecke, bin mir aber nicht sicher). Ich schlage jedoch vor, Werte mithilfe von Parametern zu übergeben, anstatt sie in eine Abfrageanweisung einzubetten. Wenn Sie Parameter verwenden, treten keine Probleme auf. Es ist für alles gesorgt.

set language us_english
declare @d datetime = '1929/12/18'

set language british
declare @d datetime = '1929/12/18' -- fails

So ändern Sie die Standardsprache des Servers:

declare @langid int = (select langid from syslanguages where name = 'british')
exec sp_configure 'default language', @langid
reconfigure with override