Làm cách nào tôi có thể đặt định dạng thời gian ngày tùy chỉnh trong Oracle SQL Developer?


198

Theo mặc định, nhà phát triển Oracle SQL hiển thị các giá trị ngày là 15-NOV-11. Tôi muốn xem phần thời gian (giờ / phút / giây) theo mặc định.

Có cách nào để cấu hình cái này trong Oracle SQL Developer không?


Tôi đã gặp khó khăn với điều này trước đây. Tôi có thể sửa nó cho một phiên, nhưng một khi tôi đóng SQL Developer và sau đó khởi động lại nó, tôi sẽ mất cài đặt. Vì vậy, giải pháp này tôi có thể cung cấp không phải là vĩnh viễn.
Brett Walker

Bạn có thể thêm nó một câu trả lời? @BrettWalker, tốt hơn là không có gì.
Thoải máiNumb

5
Thật là một mặc định nực cười cho một loại dữ liệu gọi là "NGÀY" thực sự lưu trữ độ chính xác đến lần thứ hai. Điều này hẳn đã lãng phí rất nhiều thời gian của mọi người.
Thế chiến.

Câu trả lời:


398

Bạn có thể thay đổi điều này trong sở thích:

  1. Từ menu của Oracle SQL Developer, đi tới: Công cụ > Tùy chọn .
  2. Từ hộp thoại Tùy chọn , chọn Cơ sở dữ liệu > NLS từ bảng điều khiển bên trái.
  3. Từ danh sách các tham số NLS, nhập DD-MON-RR HH24:MI:SSvào trường Định dạng ngày .
  4. Lưu và đóng hộp thoại, xong!

Đây là một ảnh chụp màn hình:

Thay đổi tùy chọn Định dạng ngày trong Nhà phát triển Oracle SQL


1
Tôi đang sử dụng SQLDeveloper trên linux và cài đặt này không phù hợp với tôi .. còn cách nào khác không?
Filipe

3
Bất kể định dạng nào tôi đặt ở đó, nó sẽ bị bỏ qua. Tôi thấy điều này được tạo ra trong sql: to_date ('02 -OCT-14 ',' YYYY-MM-DD ') vì vậy bây giờ sql của tôi chỉ bị hỏng.
James Watkins

định dạng này không phù hợp với tôi, có thể do sự khác biệt về ngôn ngữ nền tảng ... hãy xem câu trả lời của tôi nếu cách này không hoạt động
Donatello

2
cài đặt này được lưu trữ ở đâu? trong DB hoặc SQL Developer?
Bộ công cụ

44

Tôi tình cờ thấy bài đăng này trong khi cố gắng thay đổi định dạng hiển thị cho ngày trong nhà phát triển sql. Chỉ muốn thêm vào điều này những gì tôi phát hiện ra:

  • Để thay đổi định dạng hiển thị mặc định, tôi sẽ sử dụng các bước được cung cấp bởi ousoo tức là Công cụ> Tùy chọn> ...
  • Nhưng nhiều lần, tôi chỉ muốn giữ lại DEFAULT_FORMAT trong khi sửa đổi định dạng chỉ trong một loạt các truy vấn có liên quan. Đó là khi tôi sẽ thay đổi định dạng của phiên bằng cách sau:

    alter SESSION set NLS_DATE_FORMAT = 'my_required_date_format'

Ví dụ:

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

26

Với Oracle SQL Developer 3.2.20.09, tôi đã quản lý để đặt định dạng tùy chỉnh cho loại DATE theo cách này:

Trong: Công cụ> Tùy chọn> Cơ sở dữ liệu> NLS

Hoặc: Outils> Préférences> Base de donées> NLS

YYYY-MM-DD HH24: MI: SS

Cài đặt Menu chụp màn hình

Lưu ý rằng định dạng sau không phù hợp với tôi:

DD-MON-RR HH24: MI: SS

Kết quả là, nó giữ định dạng mặc định, không có bất kỳ lỗi nào.


3

Đối với bất cứ ai vẫn có vấn đề với điều này; Tôi tình cờ tìm thấy trang này từ Google ...

Đặt nó vào như thế này (Tham số NLS) ... nó dính vào tôi trong SQLDeveloper v3.0.04:

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

Điều quan trọng cần lưu ý là mã thông báo định dạng 'AM' đã bị xóa cho định dạng 24 giờ. Nếu cả hai mã thông báo 'AM' và 'HH24' được sử dụng, 'AM' sẽ ghi đè lên 'HH24'.
macawm

2

Trong trường hợp của tôi, định dạng được đặt trong Tùy chọn / Cơ sở dữ liệu / NLS là [Định dạng ngày] = RRRR-MM-DD HH24: MI: SSXFF nhưng trong lưới đã thấy 8 định dạng mặc định RRRR / MM / DD (thậm chí không có thời gian) đã thay đổi sau khi thay đổi cài đặt [Định dạng ngày] thành: RRRR-MM-DD HH24: MI: SS (không có 'XFF' ở cuối).

Không có lỗi, nhưng định dạng với xff ở cuối không hoạt động.

Lưu ý: trong ký hiệu đánh bóng RRRR có nghĩa là YYYY


2
TL; DR: không có 'XFF' ở cuối
Robert Andrzejuk

Trong Oracle, một ngày KHÔNG có phần giây. Một dấu thời gian nào. Vì vậy, Oracle đang cố gắng trở nên hữu ích bằng cách không cho phép bạn chỉ định một cái gì đó không hoạt động.
Roy Latham

0

Khi tôi sao chép định dạng ngày cho dấu thời gian và sử dụng định dạng ngày đó, nó không hoạt động. Nhưng việc thay đổi định dạng ngày thành này (DD-MON-YY HH12: MI: SS AM) đã giúp ích cho tôi.

Thay đổi phải được thực hiện trong Công cụ-> Tùy chọn-> tìm kiếm NLS


0

Đi đến Công cụ> Tùy chọn. Trong cây, chọn Cơ sở dữ liệu> NLS. Có ba định dạng Ngày / Giờ có sẵn: Ngày, Dấu thời gian và Dấu thời gian TZ. Chỉnh sửa định dạng Ngày cho hiệu quả mong muốn.

Giống như tôi đã nói ở trên; Cách tiếp cận này đã không cho tôi một sự thay đổi vĩnh viễn.


jsyk, bạn hồ sơ pic nhắc tôi om don corleone (sai chỗ cho nhận xét như vậy)
Jonathan dos Santos

0

Nhà phát triển SQL Phiên bản 4.1.0.19

Bước 1: Chuyển đến Công cụ -> Tùy chọn

Bước 2: Chọn Cơ sở dữ liệu -> NLS

Bước 3: Chuyển đến Định dạng ngày và Nhập DD-MON-RR HH24: MI: SS

Bước 4: Nhấn OK.


-1

Tôi có một vấn đề liên quan mà tôi đã giải quyết và muốn cho mọi người biết về giải pháp của tôi. Sử dụng SQL Developer tôi đã xuất từ ​​một cơ sở dữ liệu sang csv, sau đó cố gắng nhập nó vào cơ sở dữ liệu khác. Tôi liên tục nhận được một lỗi trong các trường ngày của tôi. Các trường ngày của tôi ở định dạng Dấu thời gian:

28-JAN-11 03.25.11.000000000 PM

Giải pháp trên (thay đổi tùy chọn NLS) không hoạt động đối với tôi khi tôi nhập, nhưng cuối cùng tôi cũng có được cách làm sau:

Trong màn hình Định nghĩa Cột Nhập thuật sĩ, tôi đã nhập " DD-MON-RR HH.MI.SSXFF AM" vào hộp Định dạng và cuối cùng nó đã nhập thành công. Thật không may, tôi có hàng tá trường ngày và theo hiểu biết của tôi, không có cách nào để áp dụng một cách có hệ thống định dạng này cho tất cả các trường ngày nên tôi phải thực hiện thủ công .... thở dài. Nếu ai biết cách tốt hơn tôi sẽ rất vui khi nghe điều đó!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.