Categorias

Alterar formato de DATA no Oracle

Pode surgir em algum momento a necessidade de se alterar o formato padrão de datas utilizado pelo Oracle, principalmente por causa do formato de data brasileiro ser diferente do americano.

O formato padrão do Oracle para data é mês, dia e ano (MMDDYYYY), diferente do formato brasileiro que é dia, mês e ano, daí a necessidade de formatarmos a data para o padrão brasileiro.

A formatação da data no Oracle e feita através do comando ALTER SESSION, que além dela serve também para alterar outras características da sessão corrente, sendo a expressão ALTER SESSION sempre usada para formatar datas de acordo com o formato regional.

A sintaxe do comando está descrita abaixo:

ALTER SESSION SET NLS_DATE_FORMAT = [date_format]

onde date_format pode assumir os seguintes valores:

Parâmetros:
YY – Ano com 02 dígitos. Ex.: 98
YYYY – Ano com 04 dígitos. Ex.: 1998
MM – O número do mês.
MONTH – O nome completo do mês.
MON – O nome abreviado do mês. Ex.: Jan, Feb, Mar
DDD – O dia do ano.
DD – O dia do mês.
D – O dia da semana.
DAY – O nome do dia.
HH – A hora do dia, no formato de 12 horas.
HH24 – A hora do dia, no formato de 24 horas.
MI – Os minutos.
SS – Os segundos.

Por exemplo, para alterar o padrão de data para incluírmos o ano com 4 dígitos usaremos o comando: 

ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY' 

A partir desse ponto todos os comandos (SELECT, INSERT, UPDATE e DELETE) precisarão obedecer o formato da data do comando anterior.