星期获取操作
--设置语言,这个很重要,会导致不同的返回结果 (只需设置一次语言后,就可以重复调用 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 '本周日'
日期:
select cast(GETDATE() as varchar) SELECT CAST(GETDATE() AS varchar) --输出 07 1 2013 9:56PM SELECT CONVERT(varchar,GETDATE(),5) --输出 01-07-13 SELECT CONVERT(varchar,GETDATE(),111) --输出 2013/07/01 SELECT CONVERT(varchar,GETDATE(),1) --输出 07/01/13 SELECT CONVERT(varchar,GETDATE(),102) --输出 2020.11.24 SELECT CONVERT(varchar,GETDATE(),111) --输出 2020/11/24 SELECT CONVERT(varchar,GETDATE(),120) --输出 2020-11-24 09:29:55 SELECT CONVERT(varchar,GETDATE(),101) --输出 09:29:55 select convert(char(20) ,convert(datetime,'20220310') , 21) as dd --2022-03-10 00:00:00. select convert(char(20) ,convert(datetime,'20220310') , 22) as dd --03/10/22 12:00:00 AM select convert(char(20) ,convert(datetime,'20220310') , 23) as dd --2022-03-10 select convert(char(20) ,GETDATE() , 21) as dd --2023-06-07 14:10:43. select convert(datetime,'20220310') as dd --2022-03-10 00:00:00.000
博客内容主要用于日常学习记录,内容比较随意,如有问题,还需谅解!!!