Trong SQL Server, ngày đầu tiên của tuần được xác định bởi cài đặt ngôn ngữ hiện tại. Bạn cũng có thể ghi đè điều đó bằng SET DATEFIRST
, cho phép bạn đặt ngày đầu tuần một cách rõ ràng.
Trong cả hai trường hợp, bạn có thể sử dụng @@DATEFIRST
chức năng để tìm ra những cài đặt mà phiên của bạn đang sử dụng cho ngày đầu tiên trong tuần. Bài viết này trình bày cách thực hiện.
Cú pháp
Cú pháp rất đơn giản. Nó diễn ra như thế này:
@@DATEFIRST
Ví dụ
Đây là một ví dụ về cách sử dụng.
SELECT @@DATEFIRST AS 'Result';
Kết quả:
+----------+ | Result | |----------| | 7 | +----------+
Điều này cho tôi biết rằng ngày đầu tiên của tuần là Chủ nhật. Tôi biết điều này nhờ bảng sau.
Ánh xạ cho ngày đầu tiên trong tuần
Bảng sau đây cho biết cách mỗi giá trị được ánh xạ tới một ngày trong tuần.
Giá trị | Ngày đầu tuần là |
---|---|
1 | Thứ Hai |
2 | Thứ Ba |
3 | Thứ Tư |
4 | Thứ Năm |
5 | Thứ Sáu |
6 | Thứ Bảy |
7 | Chủ nhật |
Vì vậy, giá trị trả về của @@DATEFIRST
sẽ là tinyint giữa 1 và 7 .
Giá trị này ban đầu được xác định bởi cài đặt ngôn ngữ hiện tại, tuy nhiên như đã đề cập, bạn cũng có thể sử dụng SET DATEFIRST
để ghi đè cài đặt ngôn ngữ.
Để xem những gì @@DATEFIRST
ánh xạ cài đặt tới từng ngôn ngữ, đây là Danh sách Tất cả Ngôn ngữ và Định dạng Ngày được Liên kết trong SQL Server 2017.
Bạn cũng có thể sử dụng sp_helplanguage
thủ tục được lưu trữ để trả về danh sách đó. Để thực hiện việc này, hãy xem Cách tìm định dạng ngày được sử dụng cho một ngôn ngữ cụ thể trong SQL Server (T-SQL).