SQL Developer renvoie uniquement la date, pas l'heure. Comment puis-je réparer ça?

168

Voici ce que SQL Develoepr me donne, à la fois dans la fenêtre de résultats et lors de l'exportation:

CREATION_TIME       
------------------- 
27-SEP-12
27-SEP-12
27-SEP-12

Voici ce qu'un autre logiciel exécutant la même requête / db donne:

CREATION_TIME       
------------------- 
2012-09-27 14:44:46 
2012-09-27 14:44:27 
2012-09-27 14:43:53 

Comment puis-je demander à SQL Developer de renvoyer également l'heure?

Réponse partielle:

select TO_CHAR(creation_time,'DD-Mon-YYYY HH24:MI:SS') from 

Si quelqu'un sait comment définir la valeur par défaut pour afficher les informations complètes, veuillez répondre ci-dessous.

Xonatron
la source

Réponses:

363

Pouvez-vous essayer ça?

Allez dans Outils> Préférences> Base de données> NLS et définissez le format de date sur MM / JJ / AAAA HH24: MI: SS

rizalp1
la source
8
Dans la version allemande: Extra> Voreinstellungen> Datenbank> NLS
Olivier Faucheux
9
WOW ... c'était magnifique. Je ne peux pas croire que je faisais la conversion dans la selectdéclaration.
Leniel Maccaferri
15
« Non Réglage logique » :-)
worldwidejimbo
3
Non! Il signifie National Language Support. Il est utilisé pour définir les paramètres nationaux de date, de nombre, de devise et de langue.
user2441441
2
Remarque: j'avais besoin de me reconnecter à la base de données pour que ce paramètre prenne effet
spume
35

Le format de date peut également être défini en utilisant la requête ci-dessous: -

alter SESSION set NLS_DATE_FORMAT = 'date_format'

par exemple: alter SESSION set NLS_DATE_FORMAT = 'JJ-MM-AAAA HH24: MI: SS'

Upendra Gughane
la source
21

Pour développer certaines des réponses précédentes, j'ai trouvé que les objets Oracle DATE se comportent différemment des objets Oracle TIMESTAMP. En particulier, si vous définissez votre NLS_DATE_FORMAT pour inclure des fractions de seconde, la partie de temps entière est omise.

  • Le format "AAAA-MM-JJ HH24: MI: SS" fonctionne comme prévu, pour DATE et TIMESTAMP
  • Le format "AAAA-MM-JJ HH24: MI: SSXFF" affiche uniquement la partie de date pour DATE, fonctionne comme prévu pour TIMESTAMP

Ma préférence personnelle est de régler DATE sur "AAAA-MM-JJ HH24: MI: SS" et de régler TIMESTAMP sur "YYYY-MM-DD HH24: MI: SSXFF".

Trevorsky
la source
Merci, cela m'a vraiment aidé - je viens de copier le format de l'horodatage et je ne pouvais pas comprendre pourquoi cela ne fonctionnait pas.
fleeblewidget
Y a-t-il une raison (autre que les normes) d'utiliser YYYY-MM-DD HH24:MI:SSversus DD-MM-YYYY HH24:MI:SS?
Nathan Goings
Je mets toujours l'année en premier pour éviter toute confusion. Aux États-Unis, la séquence typique est MM-JJ-AAAA. Ailleurs, c'est JJ-MM-AAAA. Le problème est que vous ne pouvez pas les distinguer pendant des jours entre 1 et 12. Donc, je mets toujours l'année en premier. Et je n'ai jamais rencontré quoi que ce soit qui fasse passer l'année en premier sans ensuite suivre aussi le mois puis le jour. Il est également trié proprement comme une chaîne, ce qui est un effet secondaire pratique.
trevorsky
16

Dans Outils> Préférences> Base de données> Paramètre NLS et définissez le format de date sur

DD-MON-RR HH: MI: SS

gigz
la source
4

Cela vous donnera les heures, les minutes et les secondes. hey hop.

select
  to_char(CREATION_TIME,'RRRR') year, 
  to_char(CREATION_TIME,'MM') MONTH, 
  to_char(CREATION_TIME,'DD') DAY, 
  to_char(CREATION_TIME,'HH:MM:SS') TIME,
  sum(bytes) Bytes 
from 
  v$datafile 
group by 
  to_char(CREATION_TIME,'RRRR'), 
  to_char(CREATION_TIME,'MM'), 
  to_char(CREATION_TIME,'DD'), 
  to_char(CREATION_TIME,'HH:MM:SS') 
 ORDER BY 1, 2; 
Derek
la source
3

Aucune de ces réponses ne fonctionnerait pour moi, pas l'option de configuration Préférences NLS ou l'instruction ALTER. C'était la seule approche qui fonctionnait dans mon cas:

dbms_session.set_nls('nls_date_format','''DD-MM-YYYY HH24:MI:SS''');

* ajouté après l'instruction BEGIN

J'utilise PL / SQL Developer v9.03.1641

Espérons que cela aide quelqu'un!

jcruz
la source
-1

Eh bien, j'ai trouvé de cette façon:

Oracle SQL Developer (icône en haut à gauche)> Préférences> Base de données> NLS et définissez le format de date sur MM / JJ / AAAA HH24: MI: SS

entrez la description de l'image ici

Abhishek
la source