Tenho uma duvida, neste exemplo:
SELECT CPF, COUNT(*) FROM NOTAS_FISCAIS
WHERE TO_CHAR(DATA_VENDA, 'YYYY') = '2016'
GROUP BY CPF
HAVING COUNT(*) > 2000
poderia usar o TO_DATE em vez do TO_CHAR, se não, quando usar cada uma?
Tenho uma duvida, neste exemplo:
SELECT CPF, COUNT(*) FROM NOTAS_FISCAIS
WHERE TO_CHAR(DATA_VENDA, 'YYYY') = '2016'
GROUP BY CPF
HAVING COUNT(*) > 2000
poderia 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!