SET DATEFIRST (Transact-SQL)

Устанавливает первый день недели в виде числа от 1 до 7.

Обзор всех типов данных и функций даты и времени в языке Transact-SQL см. в разделе Типы данных и функции даты и времени (Transact-SQL). Сведения и примеры, относящиеся к типам данных и функциям даты и времени, см. в разделе Использование данных даты и времени.

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

Синтаксис

SET DATEFIRST { number | @number_var } 

Аргументы

  • number | **@**number_var
    Целочисленное значение, указывающее первый день недели. Может быть одним из:

    Значение

    Первый день недели

    1

    Понедельник

    2

    Вторник

    3

    Среда

    4

    Четверг

    5

    Пятница

    6

    Суббота

    7 (по умолчанию для региональных настроек «Английский (США)»)

    Воскресенье

Замечания

Для просмотра текущего значения SET DATEFIRST используется функция @@DATEFIRST.

Аргумент функции 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

См. также

Справочник