我如何编写 SQLite 查询来选择特定月份的所有记录?我的日期存储为 Unix 时间戳.

如果需要,您的解决方案中允许使用 PHP 代码。请仅支持 SQLite2 兼容查询。:)

有帮助吗?

解决方案

如果你想要一个高效的查询,那么你应该使用之间:

SELECT *
FROM Table1
WHERE date BETWEEN $start AND $end

其中startend是unix的时间戳月的开始和该月的末尾。这些可以在PHP中使用来计算 mktime 和发送作为参数

其他提示

使用:

SELECT *
  FROM TABLE 
 WHERE DATETIME(your_unix_timestamp_col, 'unixepoch') BETWEEN YYYY-MM-DD 
                                                          AND YYYY-MM-DD

更换 YYYY-MM-DD 与您想要的日期。有关其他支持的格式,请参阅参考页。

参考:

如果没有最后一天在本月计算

SELECT * 
  FROM table 
 WHERE strftime('%Y-%m',date(unix_timestamp,'unixepoch','localtime')) = '2010-03'
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top