Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Относится к:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Аналитическая платформа (PDW)
SQL база данных в Microsoft Fabric
Устанавливает первый день недели в виде числа от 1 до 7.
Обзор всех типов данных и функций даты и времени в языке Transact-SQL см. в статье Типы данных и функции даты и времени (Transact-SQL).
Соглашения о синтаксисе Transact-SQL
Синтаксис
Синтаксис для SQL Server и базы данных SQL Azure
SET DATEFIRST { number | @number_var }
Синтаксис для Azure Synapse Analytics и Parallel Data Warehouse
SET DATEFIRST 7 ;
Аргументы
число | @number_var
Целочисленное значение, указывающее первый день недели. Может быть одним из указанных далее.
| Значение | Первый день недели |
|---|---|
1 |
Понедельник |
2 |
Вторник |
3 |
Среда |
4 |
Четверг |
5 |
Пятница |
6 |
Суббота |
7 (по умолчанию, английский язык США) |
Воскресенье |
Замечания
Для просмотра текущего значения SET DATEFIRST используется функция @@DATEFIRST.
Аргумент функции SET DATEFIRST устанавливается во время выполнения или запуска, а не во время синтаксического анализа.
Указание SET DATEFIRST не влияет на DATEDIFF. DATEDIFF всегда считает воскресенье первым днем недели, чтобы обеспечить детерминизм работы функции.
Как и все инструкции SET, SET DATEFIRST влияет на текущий сеанс.
Разрешения
Необходимо быть членом роли public.
Примеры
В следующем примере отображается день недели для даты и показан результат изменения параметра DATEFIRST.
-- SET DATEFIRST to U.S. English default value of 7.
SET DATEFIRST 7;
SELECT CAST('1999-1-1' AS datetime2) AS SelectDate
,DATEPART(dw, '1999-1-1') AS DayOfWeek;
-- January 1, 1999 is a Friday. Because the U.S. English default
-- specifies Sunday as the first day of the week, DATEPART of 1999-1-1
-- (Friday) yields a value of 6, because Friday is the sixth day of the
-- week when you start with Sunday as day 1.
SET DATEFIRST 3;
-- Because Wednesday is now considered the first day of the week,
-- DATEPART now shows that 1999-1-1 (a Friday) is the third day of the
-- week. The following DATEPART function should return a value of 3.
SELECT CAST('1999-1-1' AS datetime2) AS SelectDate
,DATEPART(dw, '1999-1-1') AS DayOfWeek;
GO