Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como obter a data de uma string no Oracle

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.