|  (→changer le format de date d'une instance:) |  (→Modifier le format date au niveau de l’environnement du client:) | ||
| (3 versions intermédiaires masquées) | |||
| Ligne 4 : | Ligne 4 : | ||
| ==Priorité de prise en compte des modifications de NLS_DATE_FORMAT== | ==Priorité de prise en compte des modifications de NLS_DATE_FORMAT== | ||
| - | 1. Session   | + | 1. Session  (via ALTER SESSION commande)<br> | 
| - | 2. Client    | + | 2. Client   (a partir des variables d'environnements du client)<br>   | 
| - | 3. Instance  | + | 3. Instance (a partir du pfile ou du spfile)<br> | 
| - | 4. Database  | + | 4. Database <br> | 
| - | + | <br> | |
| ==Visualiser le format actuel des dates:== | ==Visualiser le format actuel des dates:== | ||
| Ligne 15 : | Ligne 15 : | ||
| - | ==changer le format des dates  | + | ==changer le format des dates au niveau de l'instance:== | 
|    ALTER SYSTEM SET NLS_DATE_FORMAT='YYYY/MM/DD' SCOPE=SPFILE; |    ALTER SYSTEM SET NLS_DATE_FORMAT='YYYY/MM/DD' SCOPE=SPFILE; | ||
| Cela nécessite d’être en spfile et de redémarrer la base. | Cela nécessite d’être en spfile et de redémarrer la base. | ||
| + | <br><br> | ||
| ==Modifier le format des dates pour la session en cours:== | ==Modifier le format des dates pour la session en cours:== | ||
| Ligne 43 : | Ligne 44 : | ||
| 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 ) | 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 ) | ||
| + | <br><br> | ||
| - | + | ==Modifier l'affichage d'une date par une conversion avec to_char(...):== | |
| - | ==Modifier  | + | |
|    SELECT to_char(sysdate, 'YYYY-MON-DD') FROM dual; |    SELECT to_char(sysdate, 'YYYY-MON-DD') FROM dual; | ||
retour vers Oracle
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 
SELECT value FROM v$nls_parameters WHERE parameter ='NLS_DATE_FORMAT';
ALTER SYSTEM SET NLS_DATE_FORMAT='YYYY/MM/DD' SCOPE=SPFILE;
Cela nécessite d’être en spfile et de redémarrer la base.
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;
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 )
SELECT to_char(sysdate, 'YYYY-MON-DD') FROM dual;