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

Cách date_part () hoạt động trong PostgreSQL

Trong PostgreSQL, date_part() hàm truy xuất các trường con như năm, tháng, giờ hoặc phút, một phần từ giá trị ngày / giờ.

Nó tương đương với extract() , mặc dù có cú pháp hơi khác một chút.

Cú pháp

Hàm có cú pháp sau:

date_part('field', source)

Ở đâu:

  • 'field' dành cho phần ngày mà bạn muốn truy xuất. Tham số này phải là một giá trị chuỗi, không phải tên. Xem bên dưới để biết danh sách các tên trường hợp lệ.
  • source dấu thời gian hoặc một khoảng thời gian mà bạn muốn phần ngày tháng được truy xuất từ ​​đó.

Ví dụ - Dấu thời gian

Dưới đây là một ví dụ cơ bản để minh họa cách truy xuất trường từ dấu thời gian .

SELECT date_part('hour', timestamp '2020-09-16 22:33:15');

Kết quả:

22

Ví dụ này truy xuất trường giờ từ dấu thời gian giá trị.

Đây là một lần nữa, nhưng lần này tôi truy xuất trường năm.

SELECT date_part('year', timestamp '2020-09-16 22:33:15');

Kết quả:

2020

Ví dụ - Khoảng thời gian

Trong ví dụ này, tôi truy xuất một phần ngày từ khoảng thời gian giá trị.

SELECT date_part('hour', interval '5 hours 30 minutes');

Kết quả:

5

Trong ví dụ tiếp theo, hàm trả về số giờ một cách chính xác, mặc dù tôi chỉ cung cấp số phút.

SELECT date_part('hour', interval '120 minutes');

Kết quả:

2

Tuy nhiên, đừng tin tưởng vào kỹ thuật này. Bạn có thể thấy rằng không phải lúc nào bạn cũng nhận được kết quả như mong đợi.

Ví dụ:

SELECT date_part('hour', interval '100 minutes');

Kết quả:

1

Và một cái khác:

SELECT date_part('minute', interval '2 hours');

Kết quả:

0

Tên trường

Đối số đầu tiên có thể là bất kỳ đối số nào sau đây:

  • century
  • day
  • decade
  • dow
  • doy
  • epoch
  • hour
  • isodow
  • isoyear
  • microseconds
  • millennium
  • milliseconds
  • minute
  • month
  • quarter
  • second
  • timezone
  • timezone_hour
  • timezone_minute
  • week
  • year

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tham gia bốn bảng liên quan đến THAM GIA TRÁI mà không có bản sao

  2. Tự động chuyển đổi dự phòng cơ sở dữ liệu Moodle PostgreSQL

  3. Tương đương với strftime trong Postgres

  4. Giá trị tham chiếu của cột nối tiếp trong một cột khác trong cùng một INSERT

  5. Sao lưu / Khôi phục cơ sở dữ liệu PostgreSQL dày đặc