当前位置:  开发笔记 > 数据库 > 正文

从datepart更正周数

如何解决《从datepart更正周数》经验,为你挑选了1个好方法。

代码返回:

set datefirst 1
select datepart(wk,'2016-01-01')  - 1

set datefirst 1
select datepart(wk,'2015-12-31')

return..53:/

但事实上 - 这是同一周.本周有更多的日子属于2015年,所以对于这个特定周的任何日期,它应该是"53"或"1"(相同的值).如果没有建立专门的程序来分析日期和调整返回值,是否可以实现这一目标?

我使用SQL Server 2005



1> Lukasz Szozd..:

你可能想要iso_week:

set datefirst 1
select datepart(iso_week,'2015-12-31')    --53
select datepart(iso_week,'2016-01-01')    --53

LiveDemo

编辑:

看起来iso_week支持SQL Server 2008+.

如果没有建立专门的程序来分析日期和调整返回值,是否可以实现这一目标?

可能你需要编写自定义代码来计算它.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有