星期获取操作
--设置语言,这个很重要,会导致不同的返回结果 (只需设置一次语言后,就可以重复调用 DATENAME) SET LANGUAGE N'Simplified Chinese' --简体中文 --SET LANGUAGE N'English' --英文 --SET LANGUAGE N'Korean'--韩文 --获取指定日期为星期几 GETDATE()当天日期,GETDATE()+1 下一天...... SELECT DATENAME(weekday,GETDATE()) --明天是周几 SELECT DATENAME(weekday,GETDATE()+2) --获取星期几 --昨天是周几 SELECT DATENAME(weekday,GETDATE()-1)
方式二:
--设置语言,这个很重要,会导致不同的返回结果 (只需设置一次语言后,就可以重复调用 DATENAME) SET LANGUAGE N'Simplified Chinese' --简体中文 --SET LANGUAGE N'English' --英文 --SET LANGUAGE N'Korean'--韩文 --返回一周的第几天,星期天对应 1 select DATEPART(weekday,GETDATE()+2) --返回星期几 SELECT DATENAME(weekday,GETDATE()) --来个示例 declare @week varchar(10),@weekname varchar(10) --1.获取星期几参数一 --set @week=@@DATEFIRST --2.获取星期参数二 set @week=DATEPART(weekday,GETDATE()+2) set @weekname=DATENAME(weekday,GETDATE()+2) select @weekname as weekname,@week as weekno, case @week when 1 then '星期日' when 2 then '星期一' when 3 then '星期二' when 4 then '星期三' when 5 then '星期四' when 6 then '星期五' when 7 then '星期六' end as week2
获取本周、上周--对应日期及星期
-- sql server 获取上周几和本周几 -- @@DATEFIRST 每周以周几开始,周一是 1 ,周日是 7 ,有些机器默认是7,有些机器默认是1 SELECT @@DATEFIRST -- 修改 @@DATEFIRST 的值 SET DATEFIRST 7 -- 查询当前每周是以周几开始,今天是一周的第几天 SELECT @@DATEFIRST as 'startday', DATEPART(dw,GETDATE()) as 'weekday' -- 通过 WEEKDAY 和 @@DATEFIRST 联合计算,抹平 @@DATEFIRST 设置的差异 -- 上周 SELECT CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) - 6, GETDATE()) ) as '上周一' ,CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) - 5, GETDATE()) ) as '上周二' ,CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) - 4, GETDATE()) ) as '上周三' ,CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) - 3, GETDATE()) ) as '上周四' ,CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) - 2, GETDATE()) ) as '上周五' ,CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) - 1, GETDATE()) ) as '上周六' ,CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) - 0, GETDATE()) ) as '上周日' -- 本周 SELECT CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) + 1, GETDATE()) ) as '本周一' ,CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) + 2, GETDATE()) ) as '本周二' ,CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) + 3, GETDATE()) ) as '本周三' ,CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) + 4, GETDATE()) ) as '本周四' ,CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) + 5, GETDATE()) ) as '本周五' ,CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) + 6, GETDATE()) ) as '本周六' ,CONVERT(DATE, DATEADD(dd, -DATEPART (WEEKDAY ,GETDATE() + @@DATEFIRST - 1) + 7, GETDATE()) ) as '本周日'
标签:DATEPART,DATEFIRST,--,数据库,笔记,010,WEEKDAY,dd,GETDATE From: https://www.cnblogs.com/YYkun/p/17468397.html