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?


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


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' 

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.


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 

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


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


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.


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.


-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ę!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.