Có một số cách để trả về năm từ một ngày trong SQL Server. Đây là ba (hay là bốn?).
YEAR()
Phương pháp rõ ràng nhất là sử dụng YEAR()
hàm số. Hàm này trả về một số nguyên với phần năm của ngày được chỉ định.
DECLARE @date date = '2020-10-25';
SELECT YEAR(@date);
Kết quả:
2020
DATEPART()
Một cách khác để làm điều đó là sử dụng DATEPART()
hàm số. Như với YEAR()
hàm, DATEPART()
cũng trả về kết quả dưới dạng số nguyên.
DECLARE @date date = '2020-10-25';
SELECT DATEPART(year, @date);
Kết quả:
2020
Ngoài ra, đối số đầu tiên có thể là yy
hoặc yyyy
để tạo ra cùng một kết quả.
FORMAT()
FORMAT()
hàm hơi khác so với hai hàm trước vì nó trả về kết quả là một chuỗi ( nvarchar hoặc null).
DECLARE @date date = '2020-10-25'
SELECT FORMAT(@date, 'yyyy');
Kết quả:
2020
Năm ngắn ngủi
FORMAT()
chức năng cũng cho phép bạn cung cấp năm ngắn hạn (tức là yy).
Ví dụ:
DECLARE @date date = '1979-10-25'
SELECT
FORMAT(@date, 'yyyy') AS [yyyy],
FORMAT(@date, 'yy') AS [yy];
Kết quả:
+--------+------+ | yyyy | yy | |--------+------| | 1979 | 79 | +--------+------+