SQL Developer restituisce solo la data, non l'ora. Come posso risolvere questo problema?


168

Ecco cosa mi offre SQL Develoepr, sia nella finestra dei risultati che nell'esportazione:

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

Ecco cosa offre un altro software che esegue la stessa query / db:

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

Come faccio a far sì che SQL Developer restituisca l'ora?

Risposta parziale:

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

Se qualcuno sa come impostare il valore predefinito per mostrare le informazioni complete, rispondi di seguito.

Risposte:


363

Puoi provare questo?

Vai su Strumenti> Preferenze> Database> NLS e imposta il formato data su MM / GG / AAAA HH24: MI: SS


8
Nella versione tedesca: Extra> Voreinstellungen> Datenbank> NLS
Olivier Faucheux

9
WOW ... è stato bellissimo. Non riesco a credere che stavo facendo la conversione nella selectdichiarazione.
Leniel Maccaferri,

15
'Non Setting Logical' :-)
worldwidejimbo

3
No! È l'acronimo di National Language Support. Viene utilizzato per definire le impostazioni di data, numero, valuta e lingua nazionali.
user2441441

2
Nota: ho bisogno di riconnettermi al database per rendere effettiva questa impostazione
usa il

35

Il formato della data può essere impostato anche utilizzando la query seguente: -

alter SESSION set NLS_DATE_FORMAT = 'date_format'

ad es .: alter SESSION set NLS_DATE_FORMAT = 'GG-MM-AAAA HH24: MI: SS'


21

Per espandere alcune delle risposte precedenti, ho scoperto che gli oggetti Oracle DATE si comportano diversamente dagli oggetti Oracle TIMESTAMP. In particolare, se imposti NLS_DATE_FORMAT in modo da includere i secondi frazionari, l'intera porzione di tempo viene omessa.

  • Il formato "AAAA-MM-GG HH24: MI: SS" funziona come previsto, per DATA e TIMESTAMP
  • Il formato "AAAA-MM-GG HH24: MI: SSXFF" visualizza solo la parte della data per DATA, funziona come previsto per TIMESTAMP

La mia preferenza personale è impostare DATA su "AAAA-MM-GG HH24: MI: SS" e impostare TIMESTAMP su "AAAA-MM-GG HH24: MI: SSXFF".


Grazie, questo mi ha davvero aiutato: ho appena copiato il formato dal timestamp e non riuscivo a capire perché non funzionasse.
fleeblewidget,

C'è un motivo (diverso dagli standard) da utilizzare YYYY-MM-DD HH24:MI:SSrispetto a DD-MM-YYYY HH24:MI:SS?
Nathan Goings

Metto sempre l'anno primo per evitare confusione. Negli Stati Uniti, la sequenza tipica è MM-GG-AAAA. Altrove è GG-MM-AAAA. Il problema è che non puoi distinguerli per giorni tra 1 e 12. Quindi ho sempre messo l'anno primo. E non ho mai incontrato nulla che metta prima l'anno senza poi seguire anche con il mese e il giorno. Si ordina anche in modo pulito come una stringa, che è un utile effetto collaterale.
trevorsky,

16

Da Strumenti> Preferenze> Database> Parametro NLS e imposta Formato data come

DD-MON-RR HH: MI: SS


4

Questo ti porterà ore, minuti e secondi. hey presto.

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; 

3

Nessuna di queste risposte avrebbe funzionato per me, non l'opzione di configurazione Preferenze NLS o l'istruzione ALTER. Questo è stato l'unico approccio che ha funzionato nel mio caso:

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

* aggiunto dopo l'istruzione BEGIN

Sto usando PL / SQL Developer v9.03.1641

Spero che questo sia di aiuto a qualcuno!


-1

Bene ho trovato in questo modo:

Sviluppatore Oracle SQL (icona in alto a sinistra)> Preferenze> Database> NLS e imposta il formato data su MM / GG / AAAA HH24: MI: SS

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.