我对SQLite的2013年SQLite返回错误的周数?
SELECT STRFTIME('%W', 'date_column')
这是正确的计算2009-2012我的报告中周数一个简单的SQL。在2013年,我总是得到错误的周数。
例如
SELECT STRFTIME('%W', '2012-02-28')
回报 '09',这是正确的。
SELECT STRFTIME('%W', '2013-02-28')
return'08',这是错误的。我们有第九周。
有什么在SQLite的日期时间函数,我不明白?或者它是SQLite的错误?
感谢您的回答。我会检查解决方案。 – WebDucer 2013-03-29 15:54:26
这是否比建议的解决方案更好?测试? – l33t 2013-05-03 08:14:59
@ l33t:如果您想计算** ISO **周数,则“更好”。这和原来的解决方案有时在一年中的最后3天和前3天有一次或多次不同。例如,2011年1月1日的ISO周数为52,原始解决方案将其计算为0.或2012年12月31日的ISO周为1,原始解决方案输出53。 是的,我也对它进行了测试,范围为50年,并且输出与python的'datetime.isocalendar()'方法的输出相同。 – srdan 2013-05-17 11:00:23