Come posso impostare un formato di data e ora personalizzato in Oracle SQL Developer?


198

Per impostazione predefinita, lo sviluppatore Oracle SQL visualizza i valori della data come 15-NOV-11. Vorrei vedere la parte del tempo (ora / minuto / secondo) per impostazione predefinita.

C'è un modo per configurarlo all'interno di Oracle SQL Developer?


Ho avuto grossi problemi con questo prima. Posso correggerlo per una sessione, ma una volta chiuso SQL Developer e riavviato di nuovo, perdo l'impostazione. Quindi questa soluzione che posso fornire non è permanente.
Brett Walker,

Puoi aggiungere una risposta? @BrettWalker, è meglio di niente.
Comodamente, il

5
Che ridicolo valore predefinito per un tipo di dati chiamato "DATE" che in realtà memorizza la precisione al secondo. Questo deve aver sprecato molto tempo per le persone.
WW.

Risposte:


398

Puoi cambiarlo nelle preferenze:

  1. Dal menu dello sviluppatore Oracle SQL, vai a: Strumenti > Preferenze .
  2. Dalla finestra di dialogo Preferenze , selezionare Database > NLS dal pannello di sinistra.
  3. Dall'elenco dei parametri NLS, immettere DD-MON-RR HH24:MI:SSnel campo Formato data .
  4. Salvare e chiudere la finestra di dialogo, fatto!

Ecco uno screenshot:

Modifica delle preferenze del formato della data in Oracle SQL Developer


1
Sto usando SQLDeveloper su Linux e questa impostazione non funziona per me .. in nessun altro modo?
Filipe,

3
Non importa quale formato ho messo lì, viene ignorato. Vedo che questo viene generato in sql: to_date ('02 -OCT-14 ',' YYYY-MM-DD ') quindi ora il mio sql è semplicemente rotto.
James Watkins,

questo formato non ha funzionato per me, forse a causa delle differenze di localizzazione della piattaforma ... vedi la mia risposta se questo non funziona
Donatello,

2
dove è memorizzata questa impostazione? nel DB o SQL Developer?
Toolkit

44

Mi sono imbattuto in questo post mentre cercavo di cambiare il formato di visualizzazione per le date in sql-developer. Volevo solo aggiungere a questo quello che ho scoperto:

  • Per modificare il formato di visualizzazione predefinito, utilizzare i passaggi forniti da ousoo, ad esempio Strumenti> Preferenze> ...
  • Ma molte volte, voglio solo conservare DEFAULT_FORMAT mentre modifico il formato solo durante una serie di query correlate. È allora che cambierei il formato della sessione con il seguente:

    alter SESSION set NLS_DATE_FORMAT = 'my_required_date_format'

Per esempio:

   alter SESSION set NLS_DATE_FORMAT = 'DD-MM-YYYY HH24:MI:SS' 

26

Con Oracle SQL Developer 3.2.20.09, sono riuscito a impostare il formato personalizzato per il tipo DATE in questo modo:

In: Strumenti> Preferenze> Database> NLS

Oppure: Outils> Préférences> Base de donées> NLS

AAAA-MM-GG HH24: MI: SS

Schermata del menu Impostazioni

Nota che il seguente formato non ha funzionato per me:

DD-MON-RR HH24: MI: SS

Di conseguenza, mantiene il formato predefinito, senza alcun errore.


3

Per chiunque abbia ancora problemi con questo; Mi è capitato di trovare questa pagina da Google ...

Mettilo in questo modo (parametri NLS) ... si attacca per me in SQLDeveloper v3.0.04:

DD-MON-YY HH12:MI:SS AM or for 24-Hour, DD-MON-YY HH24:MI:SS 

È importante notare che il token del formato "AM" è stato rimosso per il formato delle 24 ore. Se vengono utilizzati entrambi i token "AM" e "HH24", "AM" sostituisce "HH24".
macawm,

2

Nel mio caso il formato impostato in Preferenze / Database / NLS era [Formato data] = RRRR-MM-DD HH24: MI: SSXFF ma nella griglia sono stati visti probabilmente il formato predefinito RRRR / MM / DD (anche senza tempo) Il formato ha modificato dopo aver modificato l'impostazione [Formato data] in: RRRR-MM-DD HH24: MI: SS (senza "XFF" alla fine).

Non ci sono stati errori, ma il formato con xff alla fine non ha funzionato.

Nota: in notazione polacca RRRR significa AAAA


2
TL; DR: senza "XFF" alla fine
Robert Andrzejuk,

In Oracle, una data NON ha una parte di secondi frazionaria. Un timestamp fa. Quindi, Oracle sta cercando di essere utile non permettendoti di specificare qualcosa che non funzionerà.
Roy Latham,

0

Quando ho copiato il formato della data per il timestamp e usato quello per la data, non ha funzionato. Ma cambiando il formato della data in questo (DD-MON-YY HH12: MI: SS AM) ha funzionato per me.

La modifica deve essere effettuata in Strumenti-> Preferenze-> cerca NLS


0

Vai a Strumenti> Preferenze. Nella struttura selezionare Database> NLS. Sono disponibili tre formati Data / Ora: Data, Data e ora e Data / ora TZ. La modifica del formato della data produce l'effetto desiderato.

Come ho detto sopra; questo approccio non mi ha dato un cambiamento permanente.


jsyk, la tua foto del profilo mi ricorda om don corleone (posto sbagliato per tale commento)
Jonathan dos Santos

0

SQL Developer Versione 4.1.0.19

Passaggio 1: vai su Strumenti -> Preferenze

Passaggio 2: selezionare Database -> NLS

Passaggio 3: vai al formato data e inserisci DD-MON-RR HH24: MI: SS

Passaggio 4: fare clic su OK.


-1

Ho un problema correlato che ho risolto e volevo far sapere alla gente della mia soluzione. Utilizzando SQL Developer ho esportato da un database a CSV, quindi ho provato a importarlo in un altro database. Ho continuato a ricevere un errore nei miei campi data. I campi della mia data erano nel formato Timestamp:

28-JAN-11 03.25.11.000000000 PM

La soluzione di cui sopra (modifica delle preferenze NLS) non ha funzionato per me durante l'importazione, ma alla fine ho ottenuto il seguente funzionamento:

Nella schermata Definizione colonna dell'Importazione guidata, ho inserito " DD-MON-RR HH.MI.SSXFF AM" nella casella Formato e alla fine è stato importato correttamente. Purtroppo ho dozzine di campi data e per quanto ne so non c'è modo di applicare sistematicamente questo formato a tutti i campi data, quindi ho dovuto farlo manualmente .... sospiro. Se qualcuno conosce un modo migliore sarei felice di ascoltarlo!

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.