O SQL Server registra a data no banco de dados conforme o idioma configurado na base.
Para saber qual é o formato da data da sua base, basta executar a seguinte query:
O resultado trará:
Se você for fazer uma consulta e a data estiver no formato br-pt (em string) , exemplo:
Ocorrerá a seguinte mensagem de erro:
Para solucionar isso, é possível (mas não recomento) é alterar o idioma padrão da base para português do Brasil da seguinte maneira:
Caso deseja saber a lista dos idiomas disponível, efetue a seguinte consulta:
Isso não é recomendável, porque você poderá quebrar as outras consultas. Uma boa prática que recomendo é declara uma variável de data e carrega - la informado a data no formato ISO (ano-mês-dia). Exemplo:
Para saber qual é o formato da data da sua base, basta executar a seguinte query:
O resultado trará:
- Name - Idioma da base;
- Alias - Nome descritivo do idioma e;
- Dateformat - formato da data ([d]ia, [m]es e [y] ano)
Se você for fazer uma consulta e a data estiver no formato br-pt (em string) , exemplo:
Ocorrerá a seguinte mensagem de erro:
A conversão de um tipo de dados varchar em um tipo de dados datetime resultou em um valor fora do intervalo.Isso porque conforme está configurado a base de dados, o formato de data correto é 12-31-2017.
Para solucionar isso, é possível (mas não recomento) é alterar o idioma padrão da base para português do Brasil da seguinte maneira:
Caso deseja saber a lista dos idiomas disponível, efetue a seguinte consulta:
Isso não é recomendável, porque você poderá quebrar as outras consultas. Uma boa prática que recomendo é declara uma variável de data e carrega - la informado a data no formato ISO (ano-mês-dia). Exemplo:
DECLARE @Data date = '2016-12-31'SELECT * FROM [Table] WHERE [Col] = @Data
Comentários
Postar um comentário