我在Android应用程序上使用SQLite。
我想从仅包含日期和月份列的表中选择接下来的5天,但我无法使用此查询执行此操作:
SELECT *
FROM table_name
WHERE ('2018-' || month || '-' || day)
BETWEEN date('now', '+1 days') AND date('now', '+5 days')
但是当我在月和日之前添加零时,它会正确选择(火星)行。
SELECT *
FROM table_name
WHERE ('2018-0' || month || '-0' || day)
BETWEEN date('now', '+1 days') AND date('now', '+5 days')
但这已经好几个月都没有工作,比如10,11和12,而且几天也一样。 我该怎么办?
编辑1
表列:id(整数)日(整数)月(整数)
第二个查询结果:
id - day - month
3 - 10 - 3
4 - 11 - 3
5 - 12 - 3
答案 0 :(得分:2)
问题是月份预计为MM格式,但您的数据长度为1(3 - 3月)。我通过在前缀为0来修复您的查询,以防月份为1-9。 我做了几天也一样。希望这可以帮助。感谢。
SELECT *
FROM table_name
where ('2018-' || substr('0'||month, -2, 2) || '-' || substr('0'||day, -2, 2))
BETWEEN date('now', '+1 day') AND date('now', '+5 day');
结果:
ID day month
3 10 3
4 11 3
5 12 3