Problema:
Você gostaria de converter uma string em uma data em seu conjunto de resultados.
Exemplo:
Nosso banco de dados tem uma tabela chamada
accounts_creation
, com um campo chamado company_id
do tipo de dados NUMBER e dois campos NVARCHAR2 denominados company_name
e registration_date
como mostrado abaixo. company_id | nome_da empresa | data_registration |
---|---|---|
1 | Decatlo | 5 de janeiro de 1978 |
2 | Veste | 21 de setembro de 1991 |
3 | Capela Branca | 18 de outubro de 2017 |
4 | Taça de prata | 4 de dezembro de 2021 |
5 | JohnnyBros | 28 de agosto de 1984 |
Queremos converter a coluna de string
registration_date
em uma coluna de data. Solução:
Usaremos o
TO_DATE()
função. Segue a consulta:SELECT company_id, company_name, TO_DATE(registration_date,'DD Mon YEAR') AS registration_date FROM accounts_creation;
Segue o resultado da consulta:
company_id | nome_da empresa | data_registration |
---|---|---|
1 | Decatlo | 05-JAN-78 |
2 | Veste | 21-SET-91 |
3 | Capela Branca | 18-OUT-17 |
4 | Taça de prata | 4-DEZ-21 |
5 | JohnnyBros | 28-AGO-84 |
Discussão:
O
TO_DATE(string, format)
função no Oracle converte um valor de string em uma data. A função recebe dois argumentos:a string a ser convertida e o formato de data. Na especificação de formato, DD
significa o dia do mês (1-31), MON significa o nome abreviado do mês e YEAR
significa o ano de 4 dígitos. Você pode ler mais sobre os formatos disponíveis na documentação do Oracle SQL aqui.