SQLite: получить текущую неделю - PullRequest
4 голосов
/ 11 ноября 2011

Я пытаюсь получить текущую неделю для сравнения дат в SQLite.У меня нет проблем в прошлом месяце, прошлом году, сегодня, вчера ... но я не могу найти решение для текущей недели.

Я пробовал много вещей, таких как:

SELECT tastings.* FROM tastings   
WHERE (DATE(tastings.date) > DATE('now','weekday 1','+ 7 days'))

Можете ли вы помочь мне?Спасибо.

Ответы [ 4 ]

3 голосов
/ 29 декабря 2011

Этот код дает вам номер недели, где первый день недели - понедельник. Это также хорошо работает в последние и первые недели года.

strftime('%W', 'now', 'localtime', 'weekday 0', '-6 days')
1 голос
/ 15 сентября 2012

Полагаю, вы хотите сравнить 2 даты. Предположим, у вас есть таблица с именем _testTbl и 3 столбца _id INTEGER, _name TEXT, _recordDate TEXT

вы хотите назвать эту запись на этой неделе Вы можете использовать ниже код:

SELECT * FROM _testTbl
WHERE _recordDate > datetime('now', 'start of day', 'weekday 6', '-7 day')

обратите внимание, что эта неделя начинается с субботы (воскресенье 0, понедельник 1, ..., суббота 7) это t-sql означает:

datetime является функцией даты и времени sqlite.

  • первый параметр задан временем: 'now' означает текущее время.
  • Второй параметр - время начала дня.
  • третий параметр занимает время до следующего номера дня недели (в данном случае, субботы).
  • четвертый параметр занимает время до начала недели
0 голосов
/ 17 ноября 2011

Что хранится в столбце tastings.date? Обратите внимание, что SQLite не имеет сходства типа «отметка времени», поэтому, вероятно, вы сохраняете текст (некоторое представление даты) или целое число (юлианский день, эпоха…)

Все функции времени и даты ожидают допустимую строку времени и преобразуют эту строку времени в другой формат строки. Если tastings.date содержит номер недели, используйте:

AND cast(tastings.date AS TEXT) = strftime('%W','now')
0 голосов
/ 17 ноября 2011

Это помогает мне сравнивать 2 даты, используя неделю года.

AND ( strftime('%W', tastings.date) = strftime('%W', 'now') )

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...