database - Sqlite 获取日期范围的数据库值
问题描述
还没有找到答案。
我有一个名为 history 的数据库,我将事务时间存储为:time with datetime 类型。
我有一个 HTML 表单,可以从用户那里获取开始和结束日期。
我的代码是:
hist = db.execute("SELECT * FROM history WHERE DATE(time) BETWEEN :start AND :end AND user_id = :i_d ORDER BY time DESC", start=request.form.get("start"), end=request.form.get("end"), i_d=session["user_id"])
我在 html 表单方面有以下内容:
<form action="/history" method="post">
<h3>Please enter the time range to pull data from</h3>
<div class="form-group">
<input autocomplete="off" value="2021-10-14" autofocus class="form-control" name="start" placeholder="start" type="date">
<input autocomplete="off" value="today" autofocus class="form-control" name="end" placeholder="end" type="date">
<button onClick="this.form.submit(); this.disabled=true; this.value='Sending…'; " class="btn btn-primary" type="submit">Submit</button>
</div>
</form>
它不工作。我尝试添加 ' ' 开始和结束,但它没有帮助。
在我的数据库上运行 sqlite3 并执行时
SELECT * FROM history WHERE DATE(time) BETWEEN '2021-10-14' AND '2021-10-31' AND user_id = 1 ORDER BY time DESC;
它确实有效。我的初始代码有什么问题?
谢谢!
解决方案
推荐阅读
- c# - 实例化并设置为子游戏对象的父级
- javascript - 通过对孩子进行硬编码来验证 azure jwt 令牌中的孩子
- javascript - 我应该如何在javascript中编写代码以通过双击更改元素的颜色?
- c# - 查找面板位于哪个面板阵列中
- sql - 使用其他两个表(如加入条件)更新表?
- flutter - : 我怎样才能改变条带测试生活?
- reactjs - 使用 jest 和 react-testing-library 测试连接的组件
- java - Java Tesseract 改进了从图像中读取文本
- c++ - 如何使用 C++ 中的通用引用参数为模板类编写构造函数
- vim - jedi-vim 如何关闭 __doc__ 窗口并从缓冲区列表中删除?