SET DATEFIRST (Transact-SQL)SET DATEFIRST (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL Azure даAzure Synapse Analytics (хранилище данных SQL) даParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Устанавливает первый день недели в виде числа от 1 до 7.Sets the first day of the week to a number from 1 through 7.

Обзор всех типов данных и функций даты и времени в языке Transact-SQLTransact-SQL см. в статье Типы данных и функции даты и времени (Transact-SQL).For an overview of all Transact-SQLTransact-SQL date and time data types and functions, see Date and Time Data Types and Functions (Transact-SQL).

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

-- Syntax for SQL Server and Azure SQL Database  
  
SET DATEFIRST { number | @number_var }   
-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse  
  
SET DATEFIRST 7 ;  

АргументыArguments

number | @ number_varnumber | @number_var
Целочисленное значение, указывающее первый день недели.Is an integer that indicates the first day of the week. Может быть одним из указанных далее.It can be one of the following values.

ЗначениеValue Первый день неделиFirst day of the week is
11 ПонедельникMonday
22 ВторникTuesday
33 СредаWednesday
44 ЧетвергThursday
55 ПятницаFriday
66 СубботаSaturday
7 (по умолчанию, американский английский)7 (default, U.S. English) ВоскресеньеSunday

ПримечанияRemarks

Для просмотра текущего значения SET DATEFIRST используется функция @@DATEFIRST.To see the current setting of SET DATEFIRST, use the @@DATEFIRST function.

Аргумент функции SET DATEFIRST устанавливается во время выполнения или запуска, а не во время синтаксического анализа.The setting of SET DATEFIRST is set at execute or run time and not at parse time.

Указание SET DATEFIRST не влияет на DATEDIFF.Specifying SET DATEFIRST has no effect on DATEDIFF. DATEDIFF всегда считает воскресенье первым днем недели, чтобы обеспечить детерминизм работы функции.DATEDIFF always uses Sunday as the first day of the week to ensure the function is deterministic.

РазрешенияPermissions

Необходимо быть членом роли public.Requires membership in the public role.

ПримерыExamples

В следующем примере отображается день недели для даты и показан результат изменения параметра DATEFIRST.The following example displays the day of the week for a date value and shows the effects of changing the DATEFIRST setting.

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

См. такжеSee Also

Инструкции SET (Transact-SQL)SET Statements (Transact-SQL)