В 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).