使用带有日期的MySql between子句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用带有日期的MySql between子句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1280字,纯文字阅读大概需要2分钟。
内容图文
![使用带有日期的MySql between子句](/upload/InfoBanner/zyjiaocheng/911/f3f7284f175946ef80e8f3f75d55b7b4.jpg)
我总是遇到这个问题,为了澄清,当使用mysql between子句时,它是包含参数还是仅包含它们之间的值,例如:
where date between '2013-06-01' and '2013-06-06'
以上陈述是否包括日期为2013-06-01的值或仅来自“2013-06-02”的值,如果该陈述保持不变,但随后日期值中包含小时数,则会发生什么情况, MySql自动小时到这个语句
解决方法:
如果将小时,分钟和秒数包括在内,法比奥实际上是不对的
where date >= '2013-06-01' and date <= '2013-06-06'
变得内在
where date >= '2013-06-01 00:00:00' and date <= '2013-06-06 00:00:00'
所以你实际上只选择2013-06-06的1秒,而不是一整天!
当然,与BETWEEN相同.为了获得2013-06-06的整天,你必须写
where date >= '2013-06-01' and date <= '2013-06-06 23:59:59'
要么
where date BETWEEN '2013-06-01' AND '2013-06-06 23:59:59'
来吧,亲自尝试(或者看到它生活在sqlfiddle):
create table foo (my_date date, my_timestamp timestamp, my_datetime datetime);
insert into foo values ('2013-06-06', '2013-06-06 12:23:34', '2013-06-06 13:35:48');
select * from foo
where
my_date <= '2013-06-06'; /*returns row*/
select * from foo
where
my_timestamp <= '2013-06-06'; /*does NOT return row*/
select * from foo
where
my_datetime <= '2013-06-06'; /*does NOT return row*/
select * from foo
where
my_timestamp <= '2013-06-06 23:59:59'; /*returns row*/
select * from foo
where
my_datetime <= '2013-06-06 23:59:59'; /*returns row*/
内容总结
以上是互联网集市为您收集整理的使用带有日期的MySql between子句全部内容,希望文章能够帮你解决使用带有日期的MySql between子句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。