我正在学习时间戳。我可以找到很多关于从当前时间戳中提取数据的信息,但很少查询数据库时间戳。例如,我想执行以下操作(语法不正确,但应该有希望说明我的问题)
SELECT * FROM database where timestamp DAY('12') AND MONTH('01')
或
SELECT * FROM database where timestamp MONTH('01') AND YEAR('2009')
你能指出我正确的方向吗?
答案 0 :(得分:3)
您可以使用MySQL函数FROM_UNIXTIME()
。
SELECT * FROM database WHERE DAY(FROM_UNIXTIME(timestamp)) = 12
AND MONTH(FROM_UNIXTIME(timestamp)) = 1
SELECT * FROM database WHERE MONTH(FROM_UNIXTIME(timestamp)) = 1
AND YEAR(FROM_UNIXTIME(timestamp)) = 2009
答案 1 :(得分:1)
对于第二个,更有效的方式是这样的:
SELECT *
FROM database
WHERE timestamp BETWEEN
UNIX_TIMESTAMP('2009-01-01 00:00:00')
AND
UNIX_TIMESTAMP('2009-01-31 23:59:59')