Oracle
 sql >> Base de données >  >> RDS >> Oracle

Format de date Oracle

Il n'y a pas vraiment de format de date par défaut pour le produit, le guide de référence indique que la valeur par défaut pour NLS_DATE_FORMAT au niveau du système est basé sur NLS_TERRITORY . Bien que ceci dit que le "standard" est "DD-MON-RR", et je pense que c'est ce que vous obtenez si vous ne spécifiez pas de valeur au niveau de la base de données, du moins sur les plates-formes sur lesquelles j'ai travaillé.

Lorsque vous créez une nouvelle base de données, les paramètres d'initialisation peuvent inclure un NLS_DATE_FORMAT spécifique , et cela peut également être modifié ultérieurement.

Mais le niveau système NLS_DATE_FORMAT peut être remplacé par le client, la session ou dans un TO_CHAR appel. Vous pouvez regarder dans v$nls_parameters pour voir la valeur système, et nls_session_parameters pour voir la valeur de votre session actuelle. Vous pouvez changer cela avec alter session si vous le souhaitez.

Je suis presque sûr que vous constaterez que le développeur PL/SQL définit la session NLS_DATE_FORMAT à MM/DD/YYYY quelque part dans ses préférences.

En règle générale, il est préférable de ne pas se fier du tout à cette valeur et de toujours utiliser un masque de format explicite pour l'affichage, par ex. TO_CHAR(<column>, 'YYYY-MM-DD HH24:MI:SS') .

Il y a plus sur NLS_DATE_FORMAT dans le guide de globalisation ici et ici ; et un peu sur l'affichage de la date ici ; et un aperçu des éléments du modèle de format de date ici