В SQL Server първият ден от седмицата се определя от текущите езикови настройки. Можете също да замените това с SET DATEFIRST
изявление, което ви позволява изрично да зададете първия ден от седмицата.
И в двата случая можете да използвате @@DATEFIRST
функция, за да разберете какви настройки използва вашата сесия за първия ден от седмицата. Тази статия показва как.
Синтаксис
Синтаксисът е прост. Става така:
@@DATEFIRST
Пример
Ето пример за употреба.
SELECT @@DATEFIRST AS 'Result';
Резултат:
+----------+ | Result | |----------| | 7 | +----------+
Това ми казва, че първият ден от седмицата е неделя. Знам това поради следната таблица.
Картографии за първия ден от седмицата
Следващата таблица показва как всяка стойност е съпоставена с ден от седмицата.
Стойност | Първият ден от седмицата е |
---|---|
1 | Понеделник |
2 | Вторник |
3 | сряда |
4 | Четвъртък |
5 | Петък |
6 | Събота |
7 | Неделя |
Така че връщаната стойност на @@DATEFIRST
ще бъде tinyint между 1 и 7 .
Тази стойност първоначално се определя от текущите езикови настройки, но както споменахме, можете също да използвате SET DATEFIRST
за да замените езиковите настройки.
За да видите какво @@DATEFIRST
настройките се съпоставят с всеки език, ето Списък с всички езици и свързани формати за дата в SQL Server 2017.
Можете също да използвате sp_helplanguage
съхранена процедура за връщане на този списък. За да направите това, вижте Как да намерите форматите за дата, използвани за конкретен език в SQL Server (T-SQL).