SQL:返回一周中的星期一不在星期日工作

标签 sql date

我想输入一个日期并让它返回该周的星期一,但在我的公司,一周从星期一开始到星期日结束。我尝试使用 SET DATEFIRST 1 将星期一设为一周的第一天,但​​这对星期日没有帮助。

代码:

DECLARE @proddate datetime = '6/12/2016'
SET DATEFIRST 1; SELECT DATEADD(wk, DATEDIFF(wk,0,@proddate), 0) MondayOfWeek

返回:

6/9/2016 -> 6/6/2016
6/12/2016 -> 6/13/2016 (should be 6/6/2016)

最佳答案

试试这个:

SELECT DATEADD(DAY, 1-DATEPART(WEEKDAY, @proddate), @proddate)

关于SQL:返回一周中的星期一不在星期日工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37793758/

相关文章:

php - 月份名称到月份编号 - 2 月为 03?

java - 在java中以26个字符格式读取db2时间戳?毫秒的最后一个字符丢失

mysql - RDBMS - 无法弄清楚将该表放置在哪里

mysql - 如何在 has_and_belongs_to_many Rails 中创建联接表记录

R:在指定日期之后的数据框中查找最接近的日期(索引)

delphi - UTC 支持比较 2 个文件的日期/时间

c# - 将 Null 值插入到 SQL 表中

mysql - DB2 SQL 对具有不同数据类型的多个表的联合进行计数

SQL Server 2014 以秒为单位插入/更新 smalldatetime 值

安卓:比较日期