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.