SQL Server 怎么获得本周内: 周六为第一天? 周五为第最后一天?

如题所述

select datepart(w,getdate()+1) --星期六返回1,星期五返回7。
select convert(varchar(10),getdate()-datepart(w,getdate()+1)+1,120) --获取本周第一天,2013-4-20星期六,返回2013-04-20,是第一天。

select convert(varchar(10),getdate()-datepart(w,getdate()+1)+8,120) --获取本周最后一天,2013-4-20星期六,返回2013-04-27,是第一天。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-20
SET DATEFIRST { number | @number_var }
SQL Server 默认一周的第一天是 星期天

1> SELECT
2> GETDATE(),
3> '周中第几天' AS '日期部分',
4> DATEPART(dw, GETDATE()) AS [数值]
5> go
日期部分 数值
----------------------- ---------- -----------
2013-04-20 10:06:54.647 周中第几天 7
(1 行受影响)

这里设置 星期六 为 每周的第一天。
SET DATEFIRST 6
GO

1> SELECT
2> GETDATE(),
3> '周中第几天' AS '日期部分',
4> DATEPART(dw, GETDATE()) AS [数值]
5> go
日期部分 数值
----------------------- ---------- -----------
2013-04-20 10:07:56.857 周中第几天 1
(1 行受影响)本回答被提问者采纳
第2个回答  2013-04-20
周日第一天,周六最后一天吧?
相似回答