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

3 cách để trích xuất năm từ một ngày trong SQL Server (T-SQL)

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   |
 +--------+------+ 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tự động tạo các cột sql

  2. Cách gửi email từ SQL Server (T-SQL)

  3. SQL Server Thay đổi tên cơ sở dữ liệu

  4. Trả lại các hàng theo thứ tự chính xác mà chúng đã được chèn

  5. Khi nào thì tốt hơn nên lưu trữ cờ dưới dạng bitmask thay vì sử dụng bảng kết hợp?