SQL Server获取独立星期数

与SQL Server的DATETIME数据类型相关的一些系统函数如下:

DATEADD       为DATETIME添加时间间隔
DATEDIFF       计算两个DATETIME值之间指定的日期部分的差
DATEPART      从DATETIME值提取指定的DATETIME部分,返回值为整型
DATENAME      功能与DATEPART类似,但返回值为指定部分名称
GETDATE, GETUTCDATE, CURRENT_TIMESTAMP  获取本地时间与UTC时间

–获取当天的日期的日期号码

select DATEPART(day, CURRENT_TIMESTAMP)

–获取当天的星期数,与@@DATEFIRST的设置有关

select DATEPART(WEEKDAY, CURRENT_TIMESTAMP)

–获取当天的星期数,与@@DATEFIRST的设置无关

select DATEPART(WEEKDAY, CURRENT_TIMESTAMP + @@DATEFIRST - n)
--此处相当于逻辑地把@@DATEFIRST设置为n

–获取当天所在的周数

select DATEPART(WEEK, CURRENT_TIMESTAMP)
--对于跨年的边界值,系统已经默认有处理

其它的待以后遇到再补充.

参考: MSDN, 数据库官方文档