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

请参阅

参考