У меня есть простой SQL для вычисления количества недель в моих отчетах по SQLiteSQLite возвращает неверный номер недели на 2013 год?
SELECT STRFTIME('%W', 'date_column')
Это было правильно на 2009-2012 годы. В 2013 году у меня всегда был неправильный номер недели.
Например
SELECT STRFTIME('%W', '2012-02-28')
возвращение '09', и это правильно.
SELECT STRFTIME('%W', '2013-02-28')
возвращение '08', и это неправильно. У нас есть 9-я неделя.
Есть ли что-то в функциях даты SQLite, которые я не понимаю? Или это ошибка SQLite?
Спасибо за ответ. Я проверю решение. – WebDucer
Это действительно лучше, чем предлагаемое решение? Испытано? – l33t
@ l33t: Это «лучше», если вы хотите рассчитать ** номера номеров ** **. Это и оригинальное решение иногда различаются в одном или нескольких последних 3 и первых 3 днях года. Например, номер недели ISO 01/01/2011 равен 52, исходное решение вычисляет его как 0. Или неделя ИСО от 12/31/2012 равна 1, исходное решение выдает 53. И да, я тоже тестировал его в течение 50 лет, а вывод аналогичен выходу метода 'datetime.isocalendar()' python. – srdan