【发布时间】:2025-12-11 20:40:01
【问题描述】:
在有条件的情况下,我想检查当前日期是否独立于本地设置,所以我已经完成了:
DECLARE @IsSunday BIT
SELECT
@IsSunday = CASE
WHEN DATEPART(DW, getdate() + @@DATEFIRST - 1) = 7
THEN 1
ELSE 0
END
IF @IsSunday
BEGIN
// Do some stuff
END
我需要有人确认这将在任何本地设置下工作,例如,具有英语配置和其他语言的 SQL Server。
上面的代码在西班牙语配置中有效。
【问题讨论】:
-
我的机器有默认的美国设置,它正在返回 1 = Sunday select getdate() , DATENAME(dw, getdate()+3), DATEPART(DW, getdate()+3 ) OUTPUT - 2017 -08-31 16:33:46.633 星期日 1
-
I need someone to confirm me that this will work under any local setting这没有多大意义。您需要在一个区域设置下操作 -
那么我怎样才能让它独立于本地设置工作呢?
-
您可以使用 SET DATEFIRST 7 命令将星期日设置为一周的第一天,而不管您的 sql server 的区域设置如何
-
您可以使用 DateName 函数查看日期。
标签: sql-server sql-server-2008 sql-server-2008-r2