从数据库时间戳中提取详细信息

时间:2009-02-17 09:19:32

标签: php mysql

我正在学习时间戳。我可以找到很多关于从当前时间戳中提取数据的信息,但很少查询数据库时间戳。例如,我想执行以下操作(语法不正确,但应该有希望说明我的问题)

SELECT * FROM database where timestamp DAY('12') AND MONTH('01')

SELECT * FROM database where timestamp MONTH('01') AND YEAR('2009')
你能指出我正确的方向吗?

2 个答案:

答案 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')