【问题标题】:Get records from a specific month using SQLite使用 SQLite 获取特定月份的记录
【发布时间】:2010-03-20 23:26:17
【问题描述】:

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

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

【问题讨论】:

    标签: php sql sqlite sqlite2


    【解决方案1】:

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

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

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

    【讨论】:

    • 好吧,它不起作用,但我不得不在这里责怪我的脚本,因为查询(和我的时间查找代码)似乎是正确的。
    • 这是我的剧本。修复了我的代码中的错误,它工作正常。谢谢!
    【解决方案2】:

    用途:

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

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

    参考:

    【讨论】:

      【解决方案3】:

      不计算一个月的最后一天

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

      【讨论】:

      • 我想选择特定的月份记录,这个脚本不适合我。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-23
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多