SELECT STRFTIME('%W','date_column')
对于2009-2012非常正确.在2013年,我总是错误的周数.
例如
SELECT STRFTIME('%W','2012-02-28')
返回’09’,这是正确的.
SELECT STRFTIME('%W','2013-02-28')
返回’08’,这是错误的.我们有第9周.
SELECT STRFTIME('%W','date_column')
对于2009-2012非常正确.在2013年,我总是错误的周数.
例如
SELECT STRFTIME('%W','2012-02-28')
返回’09’,这是正确的.
SELECT STRFTIME('%W','2013-02-28')
返回’08’,这是错误的.我们有第9周.
SELECT (strftime('%j',date(MyDate,'-3 days','weekday 4')) - 1) / 7 + 1 AS ISOWeekNumber FROM MyTable;
作为旁注,SQLite’s Date and Time文档确实链接到POSIX strftime手册页,该手册页将%W修饰符定义为:“一年中的周数(星期一作为一周的第一天)作为十进制数[00,53].在第一个星期一之前的新年中的所有日期都被认为是在第0周.”