Mysql 带有';%的两个日期之间的差异m/%d/%Y';总体安排

Mysql 带有';%的两个日期之间的差异m/%d/%Y';总体安排,mysql,sql,Mysql,Sql,我有一个日期格式为“%m/%d/%Y”。我想知道我的约会和今天的天数差。(mysql) 我尝试了以下所有方法,但均未成功: timediff(date_format(now(), '%m/%d/%Y'), my_date) timestampdiff(date_format(now(), '%m/%d/%Y'), my_date) datediff(date_format(now(), '%m/%d/%Y'), my_date) 备注:我的日期已格式化为“%m/%d/%Y”使用str\u to

我有一个日期格式为“%m/%d/%Y”。我想知道我的约会和今天的天数差。(mysql)

我尝试了以下所有方法,但均未成功:

timediff(date_format(now(), '%m/%d/%Y'), my_date)
timestampdiff(date_format(now(), '%m/%d/%Y'), my_date)
datediff(date_format(now(), '%m/%d/%Y'), my_date)
备注:我的日期已格式化为“%m/%d/%Y”

使用
str\u to\u date()
,例如:

datediff(curdate(), str_to_date(my_date, '%m/%d/%Y'))

我将我的日期模拟为2015年11月12日(昨天=2015年11月12日)


请更详细地描述“没有成功”。顺便说一下,MM/DD/YYYY不是MySQL使用的内部格式;也许这就是你的问题。如果你的列是date类型的,那么你不需要date\u格式。这只是为了定制输出,是
my_date
a varchar的数据类型吗?与
now()
比较的这3个函数的第一个参数不应该格式化-MySQL希望它们是实际的日期时间,而不是格式化的字符串。如果是varchar,则必须将其从格式化字符串转换为正确的日期时间类型。@Michael你说得对。戈登下面的回答有帮助。谢谢大家!!Gordons curdate()比date(现在()聪明一点)
SELECT datediff(date(now()), STR_TO_DATE('11/12/2015','%m/%d/%Y'))