Trong PostgreSQL, bạn có thể sử dụng extract()
hàm để lấy năm từ một ngày.
Bạn cũng có thể sử dụng date_part()
chức năng để làm điều tương tự.
Ví dụ 1:Hàm trích xuất ()
Dưới đây là một ví dụ về việc sử dụng extract()
chức năng trích xuất năm từ một ngày.
SELECT extract( year from date '1974-12-16' ) AS "Year";
Kết quả:
Year ------ 1974
Đây là một ví dụ khác sử dụng dấu thời gian hiện tại.
SELECT extract( year from current_timestamp ) AS "Year";
Kết quả:
Year ------ 2020
Ví dụ 2:Hàm date_part ()
Dưới đây là một ví dụ về việc sử dụng date_part()
chức năng thay thế.
SELECT date_part( 'year', date '1974-12-16' ) AS "Year";
Kết quả:
Year ------ 1974
Lưu ý cú pháp hơi khác một chút. Cũng là 'year'
tham số phải là một giá trị chuỗi (tức là nó được đặt trong dấu ngoặc kép).
Ví dụ 3:Năm ISO
Bạn có tùy chọn chỉ định năm đánh số tuần theo ISO 8601.
Mỗi năm đánh số theo tuần ISO 8601 bắt đầu bằng thứ Hai của tuần có chứa ngày 4 tháng Giêng, do đó vào đầu tháng Giêng hoặc cuối tháng Mười Hai, năm ISO có thể khác với năm Gregorian (tùy thuộc vào năm được đề cập).
Dưới đây là một ví dụ chứng minh điều này.
SELECT extract( isoyear from date '2024-12-29' ) AS "2024-12-29", extract( isoyear from date '2024-12-30' ) AS "2024-12-30";
Kết quả:
2024-12-29 | 2024-12-30 ------------+------------ 2024 | 2025
Vì vậy, cả hai ngày đều nằm dưới năm 2024 trong lịch Gregory, nhưng chúng thuộc một năm ISO khác.
date_part()
hàm cũng chấp nhận 'isoyear'
như một đối số.