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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取VARCHAR中的日期之间的数据(Mysql和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一起使用,并代表它(第一个问号是user,下一个是date1,最后一个是date2):

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

知道我在做什么错吗?

答案

[我认为如果您尝试删除多余的斜线,则应该在'%d/%/m/%Y'中输入错字。

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

希望有帮助。

以上是关于获取VARCHAR中的日期之间的数据(Mysql和node.js)的主要内容,如果未能解决你的问题,请参考以下文章

oracle 和mysql之间的数据类型对比

如何在 MySQL 中的两个日期之间获取特定日期

如何在 MySQL 中使用 Case When 和 Str_to Date 将 Varchar 日期值转换为日期数据类型

数据库中日期型数据的长度是几个字节

mysql的日期与时间函数,varchar与date相互转换

SQL查询获取特定日期和列中最新日期之间的数据