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 (via ALTER SESSION commande)
2. Client (a partir des variables d'environnements du client)
3. Instance (a partir du pfile ou du spfile)
4. Database

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 l'affichage d'une date par une conversion avec to_char(...):

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