繁体   English   中英

Flutter - 两个日期之间的时间段的 SQFlite 查询不返回数据

[英]Flutter - SQFlite query of period between two dates does not return data

我正在从 Flutter 应用程序执行数据库查询,我需要在其中带来两个日期之间的记录。 但是,即使在此期间保存了记录,查询也不会返回记录。

下面的查询返回零记录:

     final List<Map<String, dynamic>> records = await db.rawQuery(
     'SELECT * FROM vehicles WHERE created BETWEEN 2022-07-17 AND 2022-08-16');

尝试不使用如下 BETWEEN 子句也不起作用

     final List<Map<String, dynamic>> records = await db.rawQuery(
     'SELECT * FROM vehicles WHERE created >= 2022-07-17 AND created <= 2022-08-16');

我还强调“车辆”表的“已创建”列以以下格式存储字符串日期:YYYY-MM-DD,并且控制台不会报告任何语法错误,它只是不起作用

我想问题是您没有在日期中添加引号。 所以它应该是这样的:

final List<Map<String, dynamic>> records = await db.rawQuery(
     "SELECT * FROM vehicles WHERE created BETWEEN '2022-07-17' AND '2022-08-16'");

或像这样:

final List<Map<String, dynamic>> records = await db.rawQuery(
     "SELECT * FROM vehicles WHERE created >= '2022-07-17' AND created <= '2022-08-16'");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM