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
là 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