Formatação de Datas no Oracle

Postado por em 21/05/2015 - Visitas: 3459



Para formatar datas no Oracle utilizamos a função TO_CHAR que retorna um valor do tipo carácter ou string para um valor do tipo data informado. 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;

Gostou ? Compartilhe