【发布时间】:2010-03-20 23:26:17
【问题描述】:
如何编写 SQLite 查询来选择特定月份的所有记录?我的日期存储为 Unix 时间戳。
如果需要,您的解决方案中允许使用 PHP 代码。请仅与 SQLite2 兼容的查询。 :)
【问题讨论】:
如何编写 SQLite 查询来选择特定月份的所有记录?我的日期存储为 Unix 时间戳。
如果需要,您的解决方案中允许使用 PHP 代码。请仅与 SQLite2 兼容的查询。 :)
【问题讨论】:
如果您想要一个高效的查询,那么您应该使用 BETWEEN:
SELECT *
FROM Table1
WHERE date BETWEEN $start AND $end
其中start 和end 是月初和月底的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'
【讨论】: