Dúvida TO_DATE | Consultas SQL no Oracle: Projeções, Seleções, Joins e Views | Solucionado
Dúvida TO_DATE
Publicado 7 meses atrás , em 12/12/2021
Consultas SQL no Oracle: Projeções, Seleções, Joins e Views
Referente ao curso Consultas SQL no Oracle: Projeções, Seleções, Joins e Views, no capítulo Mudando a apresentação dos dados de uma consulta e atividade Obtendo clientes que fizeram mais compras em 2016
por Gabriel Pinhata de Campos Rubio
| 34.7k xp | 18 posts
Tenho uma duvida, neste exemplo:
SELECT CPF, COUNT(*) FROM NOTAS_FISCAIS
WHERE TO_CHAR(DATA_VENDA, 'YYYY') = '2016'
HAVING COUNT(*) > 2000
poderia usar o TO_DATE em vez do TO_CHAR, se não, quando usar cada uma?
| 1669.7k xp | 3354 posts
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 :).