Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Problemas de data e hora do SQL Server. Americano vs. Britânico?


Você pode usar SET LANGUAGE para escolher o formato de data que o SQL Server espera em consultas (acho que o estúdio de gerenciamento usa as configurações regionais do computador cliente para fins de exibição, mas não tenho certeza). No entanto, sugiro passar valores usando parâmetros em vez de incorporá-los na instrução de consulta. Você não encontrará nenhum problema se usar parâmetros. Tudo é cuidado.
set language us_english
declare @d datetime = '1929/12/18'

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

Para alterar o idioma padrão do servidor:
declare @langid int = (select langid from syslanguages where name = 'british')
exec sp_configure 'default language', @langid
reconfigure with override