sql - 将周日期部分编号转换为周内的日期(...的一周)

标签 sql tsql sql-server-2005 week-number datepart

我想弄清楚如何将一周的日期部分转换为该周的星期一。

我正在使用这个:

     datepart(ww, DateCompleted) as week 

按周对我们系统中的一组订单进行分组。我的目标是说而不是 37,我希望它返回第 37 周的星期一,即:09-10-2012。我可以通过定义每周每个数字来做到这一点,但我不想每周花太多时间打字,因为那里可能有更好的选择,除了 MySQL 和其他编程语言(我需要 T-SQL,或者任何可以在 sql server 2005 上运行的语言),我不知道如何使用它。感谢任何可以提供帮助的人。如果需要,我会尽可能经常回来查看以提供更多信息。

最佳答案

你可以结合DATEADDDATEPART获取所提供日期的星期一:

DATEADD(day, (-1 * DATEPART(dw, datecompleted)) + 2, datecompleted)

示例 found here

关于sql - 将周日期部分编号转换为周内的日期(...的一周),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12411185/

相关文章:

sql server 2005 .mdf .ldf 文件

mysql - SSRS 提示使用 unxtimestamp 处理 mysql 数据库

sql - PostgreSQL - 组合函数的 SELECT 和 RETURN VALUE

sql - 如果在另一个表中找不到其 ID,我如何返回一行?

tsql - Grails Project jdbc TSQL如何创建datetime2列

sql-server - 是否可以重命名 SQL Server 2005 实例

sql - 如何使用 update 语句将列值从 0 切换到 1,反之亦然?

sql - HQL查询中的LIKE

SQL Server - 缺少 NATURAL JOIN/x JOIN y USING(字段)

.net - 跨不同 SQL 读取器共享 SQL 临时表