Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Java Date.toString trong TO_DATE của Oracle

Một Oracle DATE kiểu dữ liệu không có múi giờ - bạn cần có TIMESTAMP WITH TIMEZONE kiểu dữ liệu:

SELECT TO_TIMESTAMP_TZ(
         'Thu Nov 24 15:20:52 CET 2016',
         'DY MON DD HH24:MI:SS TZR YYYY'
       )
FROM DUAL

Nếu bạn muốn chuyển đổi thành DATE (và khu vực múi giờ luôn là CET ) thì bạn có thể sử dụng:

SELECT TO_DATE(
         'Thu Nov 24 15:20:52 CET 2016',
         'DY MON DD HH24:MI:SS "CET" YYYY'
       )
FROM DUAL

Nếu bạn muốn nó là DATE kiểu dữ liệu và để tôn trọng múi giờ trong chuỗi gốc thì bạn sẽ cần (1) chuyển đổi nó thành TIMESTAMP WITH TIMEZONE loại dữ liệu; (2) chuyển đổi giá trị đó sang múi giờ chuẩn hóa (UTC thường được sử dụng cho việc này); sau đó (3) chuyển đổi nó thành một ngày:

SELECT CAST(
         TO_TIMESTAMP_TZ(
           'Thu Nov 24 15:20:52 CET 2016',
           'DY MON DD HH24:MI:SS TZR YYYY'
         )
         AT TIME ZONE 'UTC'
         AS DATE
       )
FROM   DUAL;

Sẽ xuất ra ngày 2016-11-24 14:20:52 (đại diện UTC của ngày nhập).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle - Cách tạo tập lệnh từ nhà phát triển sql

  2. Dấu ngoặc vuông trong câu truy vấn SQL của Oracle là gì?

  3. OracleCommand với OracleDependency chờ đợi mãi mãi

  4. Lấy giá trị từ FieldA, gửi đến hàm db, trả về giá trị cho FieldB

  5. Các kết hợp từ một bảng, được nhóm theo giá trị cột