Jak ustawić niestandardowy format daty i godziny w Oracle SQL Developer?

198

Domyślnie programista Oracle SQL wyświetla wartości dat jako 15-NOV-11. Domyślnie chciałbym zobaczyć część czasu (godzina / minuta / sekunda).

Czy istnieje sposób na skonfigurowanie tego w Oracle SQL Developer?

Wygodnie
źródło
Wcześniej miałem z tym problem. Mogę to poprawić dla sesji, ale kiedy zamknę programistę SQL, a następnie uruchomię ją ponownie, utracę to ustawienie. Więc to rozwiązanie, które mogę dostarczyć, nie jest trwałe.
Brett Walker
Czy możesz dodać odpowiedź? @BrettWalker, to lepsze niż nic.
Komfortowo
5
Co za absurdalne ustawienie domyślne dla typu danych o nazwie „DATE”, który w rzeczywistości przechowuje dokładność do sekundy. To musiało zmarnować wiele czasu dla ludzi.
WW.

Odpowiedzi:

398

Możesz to zmienić w preferencjach:

  1. Z menu Oracle SQL Developer's przejdź do: Narzędzia > Preferencje .
  2. W oknie dialogowym Preferencje wybierz opcję Baza danych > NLS z lewego panelu.
  3. Z listy parametrów NLS wprowadzić DD-MON-RR HH24:MI:SSdo Data Format dziedzinie.
  4. Zapisz i zamknij okno dialogowe, gotowe!

Oto zrzut ekranu:

Zmiana preferencji formatu daty w Oracle SQL Developer

ousoo
źródło
1
Używam SQLDeveloper na Linuksie i to ustawienie nie działa dla mnie .. w jakikolwiek inny sposób?
Filipe,
3
Bez względu na format, który tam wprowadzam, jest ignorowany. Widzę to generowane w sql: to_date ('02 -OCT-14 ',' YYYY-MM-DD '), więc teraz moja sql jest po prostu zepsuta.
James Watkins
ten format nie działa dla mnie, być może z powodu różnic ustawień platformy ... zobacz moją odpowiedź, jeśli ten nie działa
Donatello
2
gdzie jest przechowywane to ustawienie? w DB lub SQL Developer?
Zestaw narzędzi
44

Natknąłem się na ten post, próbując zmienić format wyświetlania dat w sql-developer. Chciałem tylko dodać do tego, co odkryłem:

  • Aby zmienić domyślny format wyświetlania, użyłbym kroków podanych przez ousoo, tj. Narzędzia> Preferencje> ...
  • Ale wiele razy po prostu chcę zachować DEFAULT_FORMAT, modyfikując format tylko podczas szeregu powiązanych zapytań. Wtedy zmieniłbym format sesji w następujący sposób:

    alter SESSION set NLS_DATE_FORMAT = 'my_required_date_format'

Na przykład:

   alter SESSION set NLS_DATE_FORMAT = 'DD-MM-YYYY HH24:MI:SS' 
hipsandy
źródło
26

W Oracle SQL Developer 3.2.20.09 udało mi się ustawić niestandardowy format dla typu DATE w ten sposób:

W: Narzędzia> Preferencje> Baza danych> NLS

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

RRRR-MM-DD HH24: MI: SS

Zrzut ekranu menu Ustawienia

Pamiętaj, że następujący format nie działa dla mnie:

DD-MON-RR HH24: MI: SS

W rezultacie zachowuje domyślny format bez żadnych błędów.

Donatello
źródło
3

Dla każdego, kto nadal ma z tym problem; Zdarzyło mi się znaleźć tę stronę od Google ...

Włóż to w ten sposób (parametry NLS) ... dla mnie przykleja się w SQLDeveloper v3.0.04:

DD-MON-YY HH12:MI:SS AM or for 24-Hour, DD-MON-YY HH24:MI:SS 
Jay Dorsey
źródło
Należy zauważyć, że token formatu „AM” jest usuwany dla formatu 24-godzinnego. Jeśli używane są zarówno tokeny „AM”, jak i „HH24”, „AM” zastępuje „HH24”.
macawm
2

W moim przypadku format ustawiony w Preferencjach / Bazie danych / NLS to [Format daty] = RRRR-MM-DD HH24: MI: SSXFF, ale w siatce widać 8 prawdopodobnie domyślny format RRRR / MM / DD (nawet bez czasu) Format ma zmieniono po zmianie ustawienia [Format daty] na: RRRR-MM-DD HH24: MI: SS (bez „XFF” na końcu).

Nie było błędów, ale format z xff na końcu nie działał.

Uwaga: w polskiej notacji RRRR oznacza RRRR

Kapuśniak
źródło
2
TL; DR: bez „XFF” na końcu
Robert Andrzejuk
W Oracle data NIE ma części ułamkowej sekundy. Znacznik czasu tak. Tak więc Oracle stara się być pomocny, nie pozwalając ci określić czegoś, co nie będzie działać.
Roy Latham,
0

Kiedy skopiowałem format daty dla znacznika czasu i użyłem go dla daty, nie działał. Ale zmiana formatu daty na ten (DD-PON-YY HH12: MI: SS AM) działała dla mnie.

Zmian należy dokonać w Narzędzia-> Preferencje-> wyszukaj NLS

Sharan Rajendran
źródło
0

Przejdź do Narzędzia> Preferencje. W drzewie wybierz Baza danych> NLS. Dostępne są trzy formaty daty / godziny: data, znacznik czasu i znacznik czasu TZ. Edycja formatu daty daje pożądany efekt.

Jak powiedziałem powyżej; takie podejście nie dało mi trwałej zmiany.

Brett Walker
źródło
jsyk, twoje zdjęcie profilowe przypomina mi om don corleone (złe miejsce na taki komentarz)
Jonathan dos Santos
0

SQL Developer Wersja 4.1.0.19

Krok 1: Przejdź do Narzędzia -> Preferencje

Krok 2: Wybierz Baza danych -> NLS

Krok 3: Przejdź do formatu daty i wprowadź DD-MON-RR HH24: MI: SS

Krok 4: Kliknij OK.

Ashutosh Chopde
źródło
-1

Mam pokrewny problem, który rozwiązałem i chciałem poinformować ludzi o moim rozwiązaniu. Za pomocą SQL Developer wyeksportowałem z jednej bazy danych do csv, a następnie próbowałem zaimportować ją do innej bazy danych. W moich polach daty ciągle pojawiał się błąd. Moje pola daty były w formacie datownika:

28-JAN-11 03.25.11.000000000 PM

Powyższe rozwiązanie (zmiana preferencji NLS) nie działało dla mnie podczas importowania, ale w końcu udało mi się:

Na ekranie Definicja kolumny kreatora importu wpisałem „ DD-MON-RR HH.MI.SSXFF AM” w polu Format i ostatecznie zaimportowałem. Niestety mam dziesiątki pól daty i według mojej wiedzy nie ma możliwości systematycznego stosowania tego formatu do wszystkich pól daty, więc musiałem to zrobić ręcznie ... westchnienie. Jeśli ktoś zna lepszy sposób, chętnie go usłyszę!

alexR1
źródło