sql >> Base de Datos >  >> RDS >> Sqlserver

Problemas de fecha y hora de SQL Server. ¿Estadounidense contra británico?

Puede usar ESTABLECER IDIOMA para elegir el formato de fecha que SQL Server espera en las consultas (creo que Management Studio usa la configuración regional de la computadora del cliente para fines de visualización, aunque no estoy seguro). Sin embargo, sugiero pasar valores usando parámetros en lugar de incrustarlos en la declaración de consulta. No encontrará ningún problema si utiliza parámetros. Todo está cuidado.

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

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

Para cambiar el idioma predeterminado del servidor:

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