Repasamos los formatos en los que podemos representar fechas.
Especialmente útil al trabajar con funciones como TO_DATE, TO_CHAR o alterar el nls_date_format a nivel de sessión.
Tabla de formatos
Formato | Descripción | Resultado |
Y | Último dígito del año | 7 |
YY | Los 2 últimos dígitos del año | 17 |
YYY | Los 3 últimos dígitos del año | 017 |
YYYY | Año usando 4 dígitos | 2017 |
RR | Año usando 2 dígitos | 17 |
YEAR | Año escrito en inglés | TWENTY SEVENTEEN |
MM | Mes con 2 dígitos | 02 |
MON | Abreviatura del mes con 3 letras | FEB |
MONTH | Nombre del mes en inglés y mayúsculas | FEBRUARY |
D | Día de la semana | 5 |
DD | Día del mes (2 dígitos) | 07 |
DDD | Día del año | 212 |
DY | Abreviatura del nombre del día de 3 letras | FRI |
DAY | Nombre del día en inglés y mayúsculas | FRIDAY |
W | Semana del mes | 3 |
WW | Semana del año | 43 |
Q | Cuarto del año | 1 |
CC | Siglo | 10 |
SCC | Lo mismo que CC pero añade «-» si la fecha es antes de Cristo | -3 |
SYYYY | Lo mismo que YYYY pero añade «-» si la fecha es antes de Cristo | -734 |
SYEAR | Lo mismo que YEAR pero añade «-» si la fecha es antes de Cristo | -THIRTY THREE |
BC, AD, B.C. , A.D. | Añade BC o AD según corresponda | AD |
J | Número de días desde el 31 de Diciembre de 4713 a. C. | 1356021 |
IW | Semana standard ISO | 32 |
RM | Mes con números romanos | II |
AM, PM, A.M. , P.M. | Indicador de meridiano | PM |
HH | Hora del día | 03 |
HH12 | Hora del día 1-12 | 11 |
HH24 | Hora del día 0-23 | 14 |
MI | Minuto 0-59 | 34 |
SS | Segundo 0-59 | 58 |
SSSSS | Segundos desde la media noche 0-86399 | 32098 |
/.,?#! | Signos de puntuación, por ejemplo: ‘MM.YY’ | 14.10 |
«literales» | Por ejemplo, ‘»Semana» W «de» Month’ | Semana 3 de February |
TH | DDth | 12TH |
SP | Transcripción de números, por ejemplo, MM | Nine |
THSP or SPTH | Transcripción posicional o numérica, por ejemplo: ‘hh24Spth’ | Fourtheenth |
Ejemplo
Vamos a alterar nuestra sesión para indicar el formato de fechas que queremos.
Si estamos conectados con el sqlplus, por ejemplo, ejecutamos lo siguiente:
alter session set nls_date_format='dd/mm/yyyy hh24:mi:ss';
Las fechas saldrán con el siguiente formato: 18/12/2017 08:27:17
Buen día.
En el siguiente caso me parece que el resultado está invertido:
/.,?#! | Signos de puntuación, por ejemplo: ‘MM.YY’ | 14.10
Muchas gracias por la información.
Saludos.