繁体   English   中英

获取 VARCHAR 中日期之间的数据(Mysql 和 node.js)

[英]Get data between dates in VARCHAR (Mysql and node.js)

我已经搜索了已经提出的问题,但我无法让它发挥作用。 我要做的是获取两个日期之间的所有保存数据(如果它包含相同的电子邮件)。 日期以以下格式保存为字符串 (VARCHAR): 15/10/2019 我知道使用 VARCHAR 作为日期数据库是不好的做法,但现在这是我必须使用的。

我尝试了以下方法,但它们都不起作用。 对于第一个,我有时会得到一些数据,但这不是正确的日期。 可能是因为字符串格式;

let sql = `SELECT reps FROM reps WHERE email = ? AND date >= ? and date <= ? ORDER BY date`;

为了解决这个问题,我尝试使用 STR_TO_DATE 但这只是给了我一个空数组:

let sql = `SELECT reps FROM reps WHERE email = ? AND STR_TO_DATE(date, '%d/%/m/%Y') BETWEEN STR_TO_DATE(?, '%d/%/m/%Y') AND STR_TO_DATE(?, '%d/%/m/%Y')`;

请注意,问号与 node.js 一起使用,代表这个(第一个问号是用户,下一个是 date1,最后一个是 date2):

connection.query(sql, [user, date1, date2], (error, result) => { ...

知道我在这里做错了什么吗?

如果您尝试删除多余的斜线,我认为您在'%d/%/m/%Y'中有错字应该可以工作。

尝试使用'%d/%m/%Y'

希望能帮助到你。

暂无
暂无

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

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