日期:2014-05-17  浏览次数:20781 次

oracle和MS-SQL指定某日是当年的第几周,算出来的结果不一样!
oracle code

select to_char(sysdate,'ww') from dual; 
-----------------------------------
33

SQL
SELECT DATEPART(wk,GETDATE())
----------------------------
34

默认是2010-08-17
在中国这个日期是34周是正确的

这是什么原因,高手指点一下!

------解决方案--------------------
to_char(sysdate,'ww')是按照7天一周算的,不是按照日历
------解决方案--------------------
探讨
引用:
ww:是从今年第一天开始,每 7 天算一周
iw:按照日历来算


不懂这个‘iw’

SQL code


--test
select to_char(to_date('2011/01/02'),'iw') from dual;

result:
52