在Sql中的Datepart函数使用weekday可以获取指定日期的星期数(从1到7)。但是,从Datepart得到的星期数会依赖当前会话选项DateFirst的设置,该设置确定一周的第一天是星期几。如果你设置为1,Sql就会从星期一开始计算每周的星期数。所以使用Datepart和@@DateFirst就可以按自定义的一周开始的星期数,返回当前是星期几。方法如下:
Datepart(weekday, getdate() + @@DateFirst - 1)
以上是获取以星期一作为每周第一天的当前时间的星期数。
select GETDATE() as 当前日期,
DateName(year,GetDate()) as 年,
DateName(month,GetDate()) as 月,
DateName(day,GetDate()) as 日,
DateName(dw,GetDate()) as 星期,
DateName(week,GetDate()) as 周数,
DateName(hour,GetDate()) as 时,
DateName(minute,GetDate()) as 分,
DateName(second,GetDate()) as 秒
结果:
2009-08-13 23:07:15.403 2009 08 13 星期四 33 23 7 15