使用SQLite从特定月份获取记录

时间:2010-03-20 23:26:18

标签: php sql sqlite sqlite2

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

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

3 个答案:

答案 0 :(得分:4)

如果您想要有效的查询,那么您应该使用BETWEEN:

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

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

答案 1 :(得分:1)

使用:

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

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

参考:

答案 2 :(得分:1)

不计算月末的最后一天

SELECT * 
  FROM table 
 WHERE strftime('%Y-%m',date(unix_timestamp,'unixepoch','localtime')) = '2010-03'