【问题标题】:Extracting details from a database timestamp从数据库时间戳中提取详细信息
【发布时间】:2009-02-17 09:19:31
【问题描述】:

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

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

SELECT * FROM database where timestamp MONTH('01') AND YEAR('2009')

你能指出我正确的方向吗?

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    可以使用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
    

    【讨论】:

      【解决方案2】:

      对于第二种,更有效的方法是这样的:

      SELECT *
      FROM database
      WHERE timestamp BETWEEN
          UNIX_TIMESTAMP('2009-01-01 00:00:00')
          AND
          UNIX_TIMESTAMP('2009-01-31 23:59:59')
      

      【讨论】:

        猜你喜欢
        • 2020-06-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-09
        • 1970-01-01
        • 2017-07-19
        • 2015-01-26
        • 1970-01-01
        • 2012-12-13
        相关资源
        最近更新 更多