我正在尝试获取当前的SQLite日期比较周。 我上个月,去年,今天,昨天没有问题...但是找不到当前一周的解决方案。
我尝试过很多东西:
SELECT tastings.* FROM tastings
WHERE (DATE(tastings.date) > DATE('now','weekday 1','+ 7 days'))
你能帮帮我吗?感谢。
答案 0 :(得分:3)
此代码为您提供星期一是星期一的星期编号。它也适用于今年的最后一周和第一周。
strftime('%W', 'now', 'localtime', 'weekday 0', '-6 days')
答案 1 :(得分:1)
我想你想比较2日期,假设你有一个名为_testTbl
的表,有3列_id INTEGER
,_name TEXT
,_recordDate TEXT
你想要本周记录的名字 你可以使用下面的代码:
SELECT * FROM _testTbl
WHERE _recordDate > datetime('now', 'start of day', 'weekday 6', '-7 day')
请注意,本周从星期六开始(星期日0,星期一,...,星期六7) 这个t-sql意味着:
datetime
是一个sqlite日期和时间函数。
'now'
表示当前时间。答案 2 :(得分:0)
这有助于我使用一年中的一周比较两个日期。
AND ( strftime('%W', tastings.date) = strftime('%W', 'now') )
谢谢你。
答案 3 :(得分:0)
tastings.date
列中存储的内容是什么?请注意,SQLite没有“timestamp”类型亲缘关系,因此可能存储Text(某些日期表示)或整数(julian day,epoch ...)
所有时间和日期函数都需要有效的time string,并将该时间字符串转换为另一种字符串格式。如果tastings.date
包含周数,请使用:
AND cast(tastings.date AS TEXT) = strftime('%W','now')