Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida de Formato de DATA

Gostaria de saber a diferença dessas duas formas, pois a primeira não da erro mas a segunda sim: (As mudanças estão nos DECLAREs)

DECLARE @CPF AS VARCHAR (11) = '19290992743' DECLARE @DATA_INICIAL AS DATETIME = '20160101' DECLARE @DATA_FINAL AS DATETIME = '20161231'

SELECT * FROM [NOTAS FISCAIS] WHERE CPF = @CPF AND DATA >= @DATA_INICIAL AND DATA <= @DATA_FINAL; GO

DECLARE @CPF AS VARCHAR (11) = '19290992743', DECLARE @DATA_INICIAL AS DATETIME = '2016-01-01', DECLARE @DATA_FINAL AS DATETIME = '2016-12-31'

SELECT * FROM [NOTAS FISCAIS] WHERE CPF = @CPF AND DATA >= @DATA_INICIAL AND DATA <= @DATA_FINAL; GO

1 resposta
solução!

Fala, Lucas! Tudo bom contigo?

Esse problema aí acontece porque o formato de datetime no SQL aceita somente a data em string crua, sem nenhuma formatação. O primeiro caso está certíssimo e é assim mesmo que tem que ser feito colocando primeiro o ano, depois mês, e dia, sem mais nada. Na segunda forma, já dá o erro porque entra na questão de formatação e, tendo essa alteração, o sistema não reconhece.

Agora, caso precise fazer a exibição dessa data, você já pode usar a função CONVERT, por exemplo, para isso e aí sim colocar esse formato de data.

Espero ter ajudado e, nesse caso, agradeço muito se marcar minha resposta como solução pra sua dúvida! Abraços, bons estudos, e bora pra cima!