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

Cách chuyển đổi chuỗi ngày thành dấu thời gian mà không cần biết định dạng ngày

Bạn cần đặt kiểu dữ liệu của mình thành "ISO, DMY". Nó được đặt thành "ISO, MDY" theo mặc định và sẽ khiến ví dụ của bạn không thành công:

> show datestyle;

 DateStyle 
-----------
 ISO, MDY
(1 row)

> select '28-Sep-13'::date;
    date    
------------
 2013-09-28
(1 row)

> select '28/09/2013'::date;
ERROR:  date/time field value out of range: "28/09/2013"
LINE 1: select '28/09/2013'::date;
               ^
HINT:  Perhaps you need a different "datestyle" setting.

> set datestyle = 'ISO, DMY';
SET

> select '28-Sep-13'::date;
    date    
------------
 2013-09-28
(1 row)

> select '28/09/2013'::date;
    date    
------------
 2013-09-28
(1 row)

(các ví dụ được thực hiện trong PostgreSQL 9.1, nhưng cài đặt DateStyle và hành vi liên quan là cổ xưa, vì vậy sẽ hoạt động tốt)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Spark SQL 2.0:NullPointerException với truy vấn PostgreSQL hợp lệ

  2. Sao chép một vài cột của tệp csv vào bảng

  3. Thêm 'nối tiếp' vào cột hiện có trong Postgres

  4. Vectơ địa lý ST_HexagonGrid để tìm tất cả các điểm

  5. Trình tự mới được chỉ định không hoạt động