在Sql Server中,可以通过设置DataFirst选项来设置一周的第一天
语法:
SET DATEFIRST { number | @number_var }
Sets the first day of the week to a number from 1 through 7
1,可以通过@@datefirst来获取设置的值
set DATEFIRST 1 select @@datefirst
2,使用函数datepart函数获取当天是周几
set DATEFIRST 1 --select @@datefirst --Result : 2 select datepart(WEEKDAY,getutcdate()) set DATEFIRST 2 --select @@datefirst --Result: 1 select datepart(WEEKDAY,getutcdate())
由于设置不同的DateFirst,会导致datepart返回不同的数值,所以必须借助@@DateFirst
set DATEFIRST 2 --Result : 2 select Datepart(weekday, getdate()+@@datefirst - 1) set DATEFIRST 1 --Result : 2 select Datepart(weekday, getdate()+@@datefirst - 1)
3,使用DateName获取WeekDay的名字,跟DateFirst的设置没有关系,跟语言设置相关
3.1 查看当前的语言设置
select @@language
3.2 查看系统支持的语言
select alias,name, * from sys.syslanguages
3.3 设置语言
--将语言设置为简体中文 set LANGUAGE ‘Simplified Chinese‘ --将语言设置为英语 set LANGUAGE ‘us_english‘
3.4 使用DateName获取WeekDay的名字
set LANGUAGE ‘Simplified Chinese‘ --Result:星期二 select DATENAME(WEEKDAY,getutcdate()) set LANGUAGE ‘us_english‘ --Result:Tuesday select DATENAME(WEEKDAY,getutcdate())
时间: 2024-10-31 02:24:08