Mysql 日期间有损比较
有没有一种方法可以让MySQL返回Mysql 日期间有损比较,mysql,date,datetime,comparison,Mysql,Date,Datetime,Comparison,有没有一种方法可以让MySQL返回1而不是0用于SELECT NOW()='2016-10-10',而无需强制转换(CAST('2016-10-10'为日期))或转换为日期(DATE('2016-10-10')) 我的实际情况是比较DATE和DATETIME列。我想在这些列上加入JOIN,但这只有在我可以让MySQL只比较日期而忽略时间的情况下才有可能 我无法执行强制转换/转换,因为这非常昂贵()。您需要强制转换的不是'2016-10-10'字符串(因为它是一个),而是现在() NOW()返回当
1
而不是0
用于SELECT NOW()='2016-10-10'
,而无需强制转换(CAST('2016-10-10'为日期)
)或转换为日期(DATE('2016-10-10')
)
我的实际情况是比较DATE
和DATETIME
列。我想在这些列上加入JOIN
,但这只有在我可以让MySQL只比较日期而忽略时间的情况下才有可能
我无法执行强制转换/转换,因为这非常昂贵()。您需要强制转换的不是
'2016-10-10'
字符串(因为它是一个),而是现在()
NOW()
返回当前时间戳,包括小时、分钟和秒。而'2016-10-10'
被解释为'2016-10-10 00:00:00'
。这大概不等于当前时间
所以
UPD:
我可以让MySQL只比较日期,忽略时间
对于比较,您可以在范围上进行比较,如:
coldate <= coldatetime AND coldate + INTERVAL 1 DAY > coldatetime
coldate coldatetime
这取决于你的实际情况,可能有益,也可能有害。事实上,我解释得很糟糕,演员阵容在等号的左边。但请重新阅读我问题的第二部分。
coldate <= coldatetime AND coldate + INTERVAL 1 DAY > coldatetime