Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida TO_DATE

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?

3 respostas
solução!

Olá, Gabriel, tudo bem?

  • Utilizamos a função TO_CHAR, quando queremos converter um número ou data em uma string.
  • Utilizamos a função TO_DATE, quando queremos converter uma string em uma data.

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!