【问题标题】:How to structure my query in sqlite?如何在 sqlite 中构造我的查询?
【发布时间】:2012-03-17 06:40:57
【问题描述】:

我想检索今天的数据。目前我有类似SELECT * FROM myTable WHERE timeStamp>DATETIME('NOW','-1 DAY') 的东西,但这给了我从现在到 24 小时的结果,而不仅仅是今天(即无论从 00:00 开始已经过去了多少小时)。使用相同的逻辑,我想检索昨天和本周的数据。

[编辑] 本周的术语是指.. 如果今天是星期四,我想显示从星期一或星期日(没关系)到现在的结果。

【问题讨论】:

    标签: sqlite datetime date time


    【解决方案1】:

    timeStamp >= DATE('now')代替timeStamp > DATETIME('now')

    从昨天开始,您可以使用DATE('now', '-1 day')

    至于本周 - 这取决于您是否是指 7 天前:

    DATE('now', '-7 days')
    

    或者如果您的意思是从本周的第一天开始:

    DATE('now', 'weekday 0', '-7 days')
    

    【讨论】:

    • 在这个timeStamp >= DATE('now') 中大于捕获了什么。我的意思是这个timeStamp == DATE('now')有什么区别?
    • 如果您的 timeStamp 包括时间和日期,那么 '==' 将不匹配,除非 timeStamp 恰好发生在午夜。如果您根本不存储时间(只是日期),那么唯一的区别是您是否想包含比今天晚的日期。如果你也没有这些,那也没关系
    • 时间戳是这种形式yyyy-MM-dd HH:mm:ss
    • 昨天我应该使用timeStamp == DATE('now','-1 day') 吗?
    • 我想它应该和你上面提到的问题一样,比如timeStamp <= DATE('now','-1 day') AND timeStamp >= DATE('now','-2 day') ?
    猜你喜欢
    • 1970-01-01
    • 2011-03-24
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 2017-09-06
    • 2017-09-24
    • 1970-01-01
    相关资源
    最近更新 更多