NLS DATE FORMAT

De system.co.free.fr.

retour vers Oracle


Sommaire

Priorité de prise en compte des modifications de NLS_DATE_FORMAT

1. Session NLS_DATE_FORMAT (via ALTER SESSION commande)
2. Client NLS_DATE_FORMAT (a partir des variables d'environnements du client)
3. Instance NLS_DATE_FORMAT (a partir du pfile ou du spfile)
4. Database NLS_DATE_FORMAT


Visualiser le format actuel des dates:

 SELECT value FROM v$nls_parameters WHERE parameter ='NLS_DATE_FORMAT';


changer le format des dates au niveau de l'instance:

 ALTER SYSTEM SET NLS_DATE_FORMAT='YYYY/MM/DD' SCOPE=SPFILE;

Cela nécessite d’être en spfile et de redémarrer la base.

Modifier le format des dates pour la session en cours:

 ALTER session SET NLS_DATE_FORMAT='DD/MM/YYYY HH24:MI';

Ce changement est pris immédiatement en compte mais n'est valable que pour la session en cours.

 SELECT sysdate FROM dual;


Modifier le format date au niveau de l’environnement du client:

au niveau de l'OS avant d'utiliser et de se connecter a la base, définir la variable NLS_DATE_FORMAT:

pour Unix et Linux ( peut etre mis dans le .profile du user )

 export NLS_DATE_FORMAT='DD/MM/YYYY HH24:MI'

pour windows

 set NLS_DATE_FORMAT='YYYY/MM/DD'

si cette variable NLS_DATE_FORMAT n'est pas défini a ce niveau, elle est déduite de NLS_LANG pour les sessions démarrées a partir de cette environnement. ( environnement = user OS et ses variables )


Modifier le format date par une conversion avec to_char(...):

 SELECT to_char(sysdate, 'YYYY-MON-DD') FROM dual;
Outils personnels