获取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)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MySQL 中使用 Case When 和 Str_to Date 将 Varchar 日期值转换为日期数据类型