Tenho uma duvida, neste exemplo:
SELECT CPF, COUNT(*) FROM NOTAS_FISCAIS
WHERE TO_CHAR(DATA_VENDA, 'YYYY') = '2016'
GROUP BY CPF
HAVING COUNT(*) > 2000poderia usar o TO_DATE em vez do TO_CHAR, se não, quando usar cada uma?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Tenho uma duvida, neste exemplo:
SELECT CPF, COUNT(*) FROM NOTAS_FISCAIS
WHERE TO_CHAR(DATA_VENDA, 'YYYY') = '2016'
GROUP BY CPF
HAVING COUNT(*) > 2000poderia usar o TO_DATE em vez do TO_CHAR, se não, quando usar cada uma?
Olá, Gabriel, tudo bem?
Neste exemplo em específico, a função TO_CHAR é a mais apropriada a ser utilizada, já que o campo DATA_VENDA já está armazenado como data na tabela.
Qualquer nova dúvida é só falar e bons estudos!
Oi, boa tarde. Ah legal, no caso como o dado inserido já é um date, o certo é usar o TO_CHAR, acho que me confundi um pouco achava que sempre que fosse data independente de inserção ou consulta usaria o TO_DATE, mas no caso no insert realmente devemos usar por estamos convertendo um char para data.
Esta confusão entre a utilização das duas funções é bem comum Gabriel, já que podem ter casos em que as duas funções podem ser utilizadas, a escolha deve depender muito do que você deseja obter, mas, esse é um bom exemplo da utilização do TO_DATE. Você está indo muito bem com os estudos Gabriel :).
Abraços e Bons estudos!