Omet navegació

7.1 Formats de les dates

Aquest tipus és molt versàtil en quant al format, bé siga per a la introducció de les dades, o el que és més habitual, per a la seua presentació. S'haurà d'utilitzar una funció, TO_CHAR, que acceptarà 2 paràmetres: el primer la data que es vol presentar, i el segon el format que volem. En el format indicarem per mig de determinats caràcters l'aspecte que volem. Per exemple, per a traure la data d'avui amb el format dia-mes-any, posaríem:

SELECT TO_CHAR( NOW(), 'DD-MM-YYYY');

El següent quadre resumeix aquestos caràcters, agrupat per categories:

DIES

MESOS

ANYS

D Dia de la setmana (1-7) MM Mes (1-12) Y Últim dígit de l'any
DD Dia del mes (1-31) MONTH Mes en lletres, utilitzant 9 caràcters YY Últims 2 dígits de l'any
DDD Dia de l'any (1-366) MON Mes abreviat, utilitzant 3 caràcters YYY Últims 3 dígits de l'any
DAY Dia de la setmana en lletres, utilitzant 9 caràcters RM El mes amb números romans (juliol= VII) YYYY Any amb 4 dígits
DY Dia de la setmana abreviat, utilitzant 3 caràcters      

En principi els formats que tornen lletres ho estaran en anglès, però després veurem com canviar d'idioma.

HORES

MINUTS

SEGONS

HH , HH12 Hora (1-12)
MI
Minuts SS Segons
HH24 Hora (0-23)     SSSS Segons des de la mitjanit (0-86399)
PM , AM
Abans o després del migdia (AM i PM respectivament)        

 

ALTRES

W , WW
Setmana del mes (1-5) ; Setmana de l'any (1-53)
CC
Segle, amb 2 xifres
Q
Quart d'any, trimestre (1-4)
 
/ , . ; : -
<espai en blanc>
"text"
Caràcters que poden aparèixer acompanyant. En els formats que tornen lletres, poden eixir en majúscules, minúscules o la primera en majúscula, si així ho posem en les lletres del format.
Si immediatament davant d'un format que torna lletres posem FM, eixiran els caràcters justos que ocupen (per exemple el dia de la setmana o el mes), i en els numèrics no eixiran els 0 no significatius.
Si immediatament davant d'un format que torna lletres posem TM, ho traduirà a l'idioma que estiga configurat el servidor, però com el tenim configurat en anglès el resultat serà el mateix

 

Exemples:

Si ara fóra 9/1/16 13:39 (en el servidor, no en la vostra màquina), i férem SELECT TO_CHAR(NOW(),'format');

Format

Eixida

dd-mm-yy hh:mi 09-01-23 01:39
dd-mm-yy hh24:mi 09-01-16 13:39
dd-MON-yyy 09-JAN-023
dd-TMMON-yyy 09-ENE-023  (si el tinguérem configurat en espanyol)
Day, dd "de" month "de" yyyy Monday , 09 de january de 2023   de 2016
FMDay, dd "de" FMmonth "de" yyyy. Monday, 09 de january de 2023.
TMDay, dd "de" TMmonth "de" yyyy. Lunes, 09 de enero de 2023.    (si el tinguérem configurat en espanyol)
FMDy PM FMhh-FMmi-FMss Mon PM 1-39-00
TMDy PM TMhh-TMmi-TMss Lun PM 01-39-00  (si el tinguérem configurat en espanyol)