Question

Je l'ai cherché sur le site Web de SO pensant que cela est assez évident, mais hélas je n'ai pas encore trouvé. Fondamentalement, la configuration est la suivante:

J'ai une chaîne dans une table comme ceci:

  

06/22/2010 00:00:00

Je fais commande select:

SELECT To_Date(item, 'MM/DD/YYYY HH24:MI:SS') from that_table

pour que effectivement je fais

SELECT To_Date('06/22/2010 00:00:00', 'MM/DD/YYYY HH24:MI:SS') from that_table

Mes déclarations de base de données:

  

22.06.2010 00:00:00

Maintenant, je sais que je peux faire un

to_char(to_Date('06/22/2010 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'MM/DD/YYYY HH24:MI:SS')

mais je dois la sélection pour retourner un format de date (MM/DD/YYYY HH24:MI:SS), pas une chaîne. Comment puis-je faire?

Edit: La production réelle:

  

22.06.2010 00:00:00

Sortie souhaité (en format de date):

  

06/22/2010 00:00:00

Était-ce utile?

La solution

une date est un moment, il n'a pas le format (comme les numéros: ils n'ont pas le format). Lorsque vous affichez la date, de toute évidence, il doit obtenir un format. Si vous ne donnez spécifiquement Oracle un format, le format par défaut de votre session sera utilisée (session de paramètre NLS_DATE_FORMAT)

Par conséquent: utiliser la date pour la date datatype et stockage Arithmétique (pas de format). Utilisez la fonction to_char ou quelque chose d'équivalent lorsque vous devez afficher la date (dans un rapport ou dans l'interface graphique).

Autres conseils

DATE ne dispose pas d'un format, il est seulement formaté une fois converti en une chaîne de caractères à des fins d'affichage. Si vous utilisez SQL Plus puis lorsque vous affichez une colonne DATE (sans utiliser TO_CHAR pour formater explicitement), SQL Plus lui-même effectue une conversion TO_CHAR utilisant le paramètre NLS_DATE_FORMAT:

SQL> select sysdate from dual;

SYSDATE
---------
23-JUN-10

SQL> alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS';

Session altered.

SQL> select sysdate from dual;

SYSDATE
-------------------
2010-06-23 15:17:12

Si vous ne l'utilisez SQL Plus, alors quel que soit l'outil que vous utilisez sera de faire quelque chose de similaire et peut-être d'une manière différente de spécifier le format de date pour l'affichage.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top