Manipulação de datas no Oracle
Neste tutorial e vídeo aula, abordaremos a manipulação e formatação de datas no banco de dados Oracle.
Vamos aprender a formatar datas no Oracle utilizando a linguagem PL/SQL.
Com isto, você poderá extrair informações de um campo de data conforme sua necessidade.
Este post é destinado a DBAs (Administradores de banco de dados), administradores de Data Warehouse, Data Analytics, analistas de sistemas, profissionais de suporte, consultores técnicos, desenvolvedores, Gerentes de Fábrica de Software, Lideres de Equipes, Coordenadores de Desenvolvimento de Software, membros de equipe de projeto, estudantes e entusiastas de banco de dados.
Scripts : Formatação de datas no Oracle com a função TO_CHAR
Os comandos utilizados neste post e video aula podem ser baixados de nosso Github
https://github.com/webmundi/formatar-datas-oracle-TO_CHAR-PLSQL.git
Vídeo Aula : Como Formatar Datas no Oracle com PL/SQL
Outros materiais e dicas de Oracle que recomendamos para você
Como instalar o Oracle Database 18c no Windows
▶️ https://www.webmundi.com/banco-de-dados/oracle/como-instalar-o-oracle-database-18c-no-windows/
Como instalar o SQL Developer no Windows
▶️ https://www.webmundi.com/banco-de-dados/oracle/como-instalar-o-sql-developer-no-windows/
Como desbloquear Usuário Schema HR (Schema de Exemplo) no Oracle Database 18c
Linguagem PL/SQL
Para trabalhar com dados no Oracle utilizamos a Linguagem PL/SQL
PL/SQL é um acrônimo de Procedural Language/Structured Query Language.
É uma Linguagem procedural que permite a manipulação de dados e gerenciamento do banco de dados Oracle.
Normalmente para para executar scripts/programas pl/sql utilizamos programas sqlplus, sql developer, dbeaver, entre outros.
Comando SYSDATE
Para manipular datas no Oracle utilizamos comandos em PL/SQL.
Existem diversos comandos para tratamento de datas, mas nessa aula introdutória vamos abordar apenas alguns como
O comando Sysdate retorna a data e hora atuais do sistema operacional no qual o banco de dados esta instalado
Função TO_CHAR
Outro comando muito utilizado na manipulação de datas é a função TO_CHAR.
Ela converte um número ou data em uma string e serve também para formatar datas ou hora no Oracle.
Na conversão ou retorno você poderá informar o formato que você quiser e inventar o seu inclusive, você pode usar os seguintes caracteres para identificar cada elemento da data:
Através da função TO_CHAR é possível formatar e extrair partes de uma data de forma muito fácil.
Sua sintaxe é a seguinte:
TO_CHAR( Valor, [ format_mask ], [ nls_language ] )
Parâmetros ou argumentos
Valor – pode ser um número ou data que será convertido para uma string.
format_mask – é opcional. Este é o formato que será utilizado para converter o valor para uma string.
NLS_LANGUAGE – é opcional. Esta é a linguagem nls usada para converter o valor para uma string.
Opções possíveis com o parâmetro format_mask
Parâmetro | Explicação |
YEAR | Ano, por extenso, em Inglês |
YYYY | Ano de 4 dígitos |
YYY | Últimos 3, 2 ou 1 dígito (s) do ano. |
YY | |
Y | |
IYY | Últimos 3, 2 ou 1 dígito (s) do ano ISO. |
IY | |
I | |
IYYY | Ano de 4 dígitos com base na norma ISO |
Q | Quarter – Trimestre do ano (1, 2, 3, 4; JAN-MAR = 1). |
MM | Mês (01-12; JAN = 01). |
MON | Nome abreviado do mês. |
MONTH | Nome do mês, preenchido com brancos até o comprimento de 9 caracteres. |
RM | Mês numeral romano (I-XII; JAN = I). |
WW | Semana do ano (1-53), onde semana 1 começa no primeiro dia do ano e continua até o sétimo dia do ano. |
W | Semana do mês (1-5), onde semana 1 começa no primeiro dia do mês e termina em sétimo. |
IW | Semana do ano (1-52 ou 1-53) com base na norma ISO. |
D | Dia da semana (1-7). |
DAY | Nome do dia. |
DD | Dia do mês (1-31). |
DDD | Dia do ano (1-366). |
DY | Nome abreviado do dia. |
J | Dia Juliano, o número de dias desde 1 de janeiro de 4712 aC. |
HH | Hora do dia (1-12). |
HH12 | Hora do dia (1-12). |
HH24 | Hora do dia (0-23). |
MI | Minuto (0-59). |
SS | Segundo (0-59). |
SSSSS | Segundos da meia-noite (0-86399). |
FF | Frações de segundo. |
Existem diversos formatos suportados para formatar datas, os mais utilizados e conhecidos são os seguintes:
— MM = Retorna o número representando o mês. Ex: 04
select to_char(sysdate, ‘MM’) from dual;
— MON = Retorna a abreviação do mês, por exemplo ‘ABR’
select to_char(sysdate, ‘MON’) from dual;
— MONTH = Retorna o nome completo do mês, por exemplo: ‘ABRIL’
select to_char(sysdate, ‘MONTH’) from dual;
— DD = retorna o dia da data informada como parâmetro Ex.: 07
select to_char(sysdate, ‘DD’) from dual;
— DY = retorna a abreviação do dia da semana. Exemplo: SEG
select to_char(sysdate, ‘DY’) from dual;
— YYYY = retorna o ano com 4 dígitos. Exemplo: 2014
select to_char(sysdate, ‘YYYY’) from dual;
— YY = retorna os últimos dois números do ano. Exemplo: 14
select to_char(sysdate, ‘YY’) from dual;
— AM (ou PM) = retorna se a hora é de manhã (AM) ou a tarde (PM).
select to_char(sysdate, ‘AM’) from dual;
–HH = retorna a hora (0 – 12)
select to_char(sysdate, ‘HH’) from dual;
–HH24 = retorna a hora (0 – 24)
select to_char(sysdate, ‘HH24’) from dual;
–MI = retorna o minuto
select to_char(sysdate, ‘MI’) from dual;
–SS = retorna o segundo
select to_char(sysdate, ‘SS’) from dual;
– Os formatos de data podem ser utilizados em conjuntos como por exemplo:
select to_char(sysdate, ‘HH24:MI:SS’) from dual
Retorna: 09:21:59
Outro exemplo retornando a data no formato mais comum no Brasil.
select to_char(sysdate, ‘DD/MM/YYYY HH24:MI:SS’) from dual;
Materiais e leituras que recomendamos para você:
- Como Instalar o SQL Developer Oracle no Linux
- Monitorando operações de longa duração no Oracle
- Solução para erro Oracle : [FATAL] [DBT-06103] The port (5.500) is already in use
- Como listar as maiores tabelas ou objetos Oracle
Obrigado
Espero que este artigo tenha sido útil e lhe ajudado a entender um pouco mais sobre Manipulação de datas no Oracle, com essas funções você pode criar muitas outras.
Se você gostou deste tutorial, compartilhe com seus amigos ou nos acompanhe pelas redes sociais.
Você pode nos ajudar a criar mais conteúdos como este. Como ?
Prestigie nossos anunciantes conhecendo seus produtos e serviços.
É simples e rápido e você certamente ajuda a gente a crescer.
Obrigado e um grande abraço
Renato Sanches
Sugestões de Livros sobre Banco de Dados Oracle
Quer aprender mais sobre Oracle e PL/SQL e não sabe por onde começar?
Separamos algumas dicas legais de livros sobre Oracle e programação PL/SQL para você aprender ainda mais sobre este poderoso banco de dados, confira: