【问题标题】:Compare database entries to get only the ones from today比较数据库条目以仅获取今天的条目
【发布时间】:2020-04-17 03:50:23
【问题描述】:

跟进这个问题:How to query a SQL Lite database using flutter sqflite

我使用计算的 int 存储添加数据库条目的时间:

  static int currentTimeInSeconds() {
    var now = (DateTime.now()).millisecondsSinceEpoch;
    return now;
  }

并使用我的 database_manager.dart 文件中的以下内容获取我的 Water 数据库中 amount 列的总和:

  Future<int> sumItems() async {
    await openDb();
    final sum = await _database.rawQuery("SELECT sum(amount) as sum FROM Water");
    return sum[0]["sum"];
  }

如何在 sumItems() 函数中只返回今天的商品?

【问题讨论】:

    标签: database sqlite flutter sqflite


    【解决方案1】:

    在 where 子句中,您必须将 time 替换为表中的列名

    Future<int> sumItems() async {
    
          DateTime now = new DateTime.now();
          DateTime today = new DateTime(now.year, now.month, now.day);
          DateTime endtoday = today.add(new Duration(days:1));
    
          await openDb();
          final sum = await _database.rawQuery("SELECT sum(amount) as sum FROM Water WHERE time >= '" + today.millisecondsSinceEpoch.toString() + "' AND time < '" + endtoday.millisecondsSinceEpoch.toString() + "'");
          return sum[0]["sum"];
    
        }
    

    【讨论】:

      猜你喜欢
      • 2017-02-18
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-31
      • 2018-03-12
      • 1970-01-01
      相关资源
      最近更新 更多