SQLite:获取当前周

ale*_*our 6 sqlite date

我正在尝试获取当前周以在 SQLite 中进行日期比较。我上个月、去年、今天、昨天都没有问题……但没有找到当前周的解决方案。

我尝试了很多事情,例如:

SELECT tastings.* FROM tastings   
WHERE (DATE(tastings.date) > DATE('now','weekday 1','+ 7 days'))
Run Code Online (Sandbox Code Playgroud)

你能帮助我吗 ?谢谢。

Bak*_*kyt 7

此代码为您提供一周的第一天是星期一的周数。它也适用于一年的最后几周和第一周。

strftime('%W', 'now', 'localtime', 'weekday 0', '-6 days')
Run Code Online (Sandbox Code Playgroud)


Ben*_*oit 2

列中存储了什么tastings.date?请注意,SQLite 没有 \xe2\x80\x9ctimestamp\xe2\x80\x9d 类型关联,因此您可能存储文本(日期的某种表示形式)或整数(儒略日、纪元\xe2\x80\xa6)

\n\n

所有时间和日期函数都需要一个有效的时间字符串,并将该时间字符串转换为另一种字符串格式。如果tastings.date包含周数则使用:

\n\n
AND cast(tastings.date AS TEXT) = strftime(\'%W\',\'now\')\n
Run Code Online (Sandbox Code Playgroud)\n