Manejo De Formatos De Fecha

select sysdate from dual ;
select to_char(sysdate , '&formato') from dual;
/*
DD dia del mes
DDD dia del año 065
D dia de la semana
MM mes -> 03
YYYY -< 2013
YYY ->013
YY -> 13 2013=13
Y -> 3 último dígito del año 2013
Q = quarter del año = 1
WW -> semana del año = 10
W -> semana del mes = 1
WWW -> 101 (encadena semana del año con semana del mes).

mi -> 52 minuto respecto a hora
HH -> 09
HH12 -> 09
HH24 -> 09

Dy -> Mié abreviatura del día de la semana en letras.
mon -> mar abreviatura del mes en letras.
SS -> 24 segundos respecto a minuto.
SSSSS -> 35750
DAY -> MIÈRCOLES -> día de la semana
day -> miércoles
Day -> Miércoles

year -> twenty thirteen

rm -> iii numeros romanos (roman month)
cc -> 21 (siglo XXI)
RM

ddsp -> six day spelled
( si lo da en español es porque falta librería de traducción.
al hacer select a DUAL se usan pseudoColumnas, muy usado.

SUFIJOS: sp (español) th (numeral) am/pm (post meridian)
ac/bc (ante christ or before christ) ad(DC)

*/

select to_char(sysdate , '&formato') from dual;

/* problemática cuando guardas fechas solo
especificando los últimos dígitos.
se soluciona con máscara RR (redondeo).
RR -> 13 2013

este redondeo asume que el intervalo actual es RR =(2000 ->2049)
ó si el valor es mayor de 50, asume =(1950 -> 1999)
ACHTUNG!!!!!!!!!!!!!
*/

— buscamos dia de conttratacion de cada empleado:
select to_char (hire_date, 'Day') from employees;
/*Miércoles
Jueves
Miércoles
Martes */

select to_char (hire_date, 'Day'), hire_Date from employees;

— queremos formato "Miercoles 4 de Febrero de 1.998":
select to_char(hire_date, 'Day D "de" Month "de" Y,YYY' )
"Día de contratación empleado" from employees ;

select to_char(hire_date, 'Day D "de" MonthFM "de" Y,YYY' )
"Día de contratación empleado" from employees ;
— agregando FM (Format Model) normaliza sin completar con espacios

set NLS