@@DATEFIRST (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric
Эта функция возвращает текущее значение параметра SET DATEFIRST для определенного сеанса.
Обзор всех типов данных и функций даты и времени в языке Transact-SQL см. в статье Типы данных и функции даты и времени (Transact-SQL).
Соглашения о синтаксисе Transact-SQL
Синтаксис
@@DATEFIRST
Тип возвращаемых данных
tinyint
Замечания
Инструкция SET DATEFIRST n задает первый день недели (понедельник, вторник, среда и т. д.). Значение n лежит в диапазоне от 1 до 7.
SET DATEFIRST 3;
GO
SELECT @@DATEFIRST; -- 3 (Wednesday)
GO
При использовании региональных настроек "Английский (США)" по умолчанию @@DATEFIRST принимает значение 7 (воскресенье).
Эта языковая настройка влияет на интерпретацию символьных строк при их преобразовании сервером SQL Server в значения дат для хранения в базе данных. Она также влияет на отображение дат, хранящихся в базе данных. Она не влияет на формат хранения дат.
В приведенном ниже примере сначала задается язык Italian
. Инструкция SELECT @@DATEFIRST;
возвращает значение 1
. Следующая инструкция задает язык us_english
. В последней инструкции SELECT @@DATEFIRST;
возвращает значение 7
.
SET LANGUAGE Italian;
GO
SELECT @@DATEFIRST;
GO
SET LANGUAGE us_english;
GO
SELECT @@DATEFIRST;
Примеры
В приведенном ниже примере в качестве первого дня недели задается 5
(пятница) и предполагается, что текущий день Today
приходится на субботу. Инструкция SELECT
возвращает значение DATEFIRST
и номер текущего дня недели.
SET DATEFIRST 5;
SELECT @@DATEFIRST AS 'First Day'
,DATEPART(dw, SYSDATETIME()) AS 'Today';
Вот результирующий набор.
First Day Today
---------------- --------------
5 2
Пример
Система платформы Azure Synapse Analytics и Analytics (PDW)
SELECT @@DATEFIRST;