运算符与日期之间的mysql [英] mysql between operator with dates

查看:95
本文介绍了运算符与日期之间的mysql的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

select '2011-02-29' BETWEEN '2011-02-01' AND '2011-03-03'‎

这是返回1.我认为之间的不考虑闰年。我想要你的看法?

this is returning 1. I think between doesn't consider leap year. I want your view on this?



SELECT DATE('2010 -04-31')返回NULL;

但是 select str_to_date('2010-04-31','%Y-%m-% d')正在重新调用日期。


SELECT DATE( '2010-04-31' ) is returning NULL;
But select str_to_date('2010-04-31', '%Y-%m-%d') is retuning date.

为什么?

感谢
Venu

Thanks Venu

推荐答案

您需要将其转换为:

SELECT DATE('2011-02-29') BETWEEN DATE('2011-02-01') AND DATE('2011-03-03')

从网站:


为了在使用BETWEEN与日期或时间值时获得最佳效果,请使用
CAST()将值显式转换为所需的数据类型。
示例:如果将DATETIME与两个DATE值进行比较,请将
DATE值转换为DATETIME值。如果您在比较DATE时使用诸如
'2001-1-1的字符串常量,则将该字符串转换为DATE

这篇关于运算符与日期之间的mysql的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆