mysql中between的边界,范围说明


Posted in MySQL onJune 08, 2021

mysql between的边界范围

between 的范围是包含两边的边界值

eg: id between 3 and 7 等价与 id >=3 and id<=7

not between 的范围是不包含边界值

eg:id not between 3 and 7 等价与 id < 3 or id>7

SELECT * FROM `test` where id BETWEEN 3 and 7;
等价于 SELECT * FROM `test` where id>=3 and id<=7;
-----------------------------------------------------------
SELECT * FROM `test` where id NOT BETWEEN 3 and 7;
等价于 SELECT * FROM `test` where id<3 or id>7;

mysql between日期边界的问题留意

边界问题:

mysql, between 开始日期 AND 结束日期 包含开始日期,不包含结束日期

例如:

BETWEEN '2018-01-22' AND  '2018-01-30'

开始日期从2018-01-22 00:00:00.0 开始, 到2018-01-29 23:59:59.59结束

表中的CREATE_DATE 是varchar(21) DEFAULT NULL COMMENT '时间',

CREATE_DATE中保存值是: 年-月-日 时:分:秒:0 例如: 2018-01-29 23:45:35.0

SELECT *  FROM  Test  a WHERE  a.CREATE_DATE BETWEEN '2018-01-22' AND  '2018-01-30'   
ORDER BY a.CREATE_DATE desc

mysql中between的边界,范围说明

SELECT *  FROM TABEL a WHERE  a.CREATE_DATE BETWEEN '2018-01-22' AND  '2018-01-30'   
ORDER BY a.CREATE_DATE desc
    2018-01-29 23:45:35.0    20180129
    2018-01-29 23:45:33.0    20180129
    2018-01-29 00:10:58.0    20180129
    2018-01-29 00:10:45.0    20180129
    2018-01-28 23:42:23.0    20180128
    2018-01-28 23:39:39.0    20180128
SELECT *  FROM TABEL a WHERE  a.CREATE_DATE BETWEEN '2018-01-22' AND  '2018-01-29'   
ORDER BY a.CREATE_DATE desc
    2018-01-28 23:42:23.0    20180128
    2018-01-28 23:39:39.0    20180128
    2018-01-28 00:13:22.0    20180128
    2018-01-28 00:13:19.0    20180128
    2018-01-27 23:23:02.0    20180127
    2018-01-22 00:09:59.0    20180122
    2018-01-22 00:09:56.0    20180122
    2018-01-22 00:01:53.0    20180122

遇到的其他问题:

遇到另外一张表 test2 有保存时间的字段: `REPORTTIME` varchar(45) DEFAULT NULL,

这个字段保存的值是:

mysql中between的边界,范围说明

例子1:

select *  from bips_hpd_helpdesk a WHERE  str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d') 
BETWEEN '2018-01-16' AND '2018-01-27' ORDER BY from_unixtime(a.REPORTTIME,'%Y-%m-%d') DESC ;

结果1:

mysql中between的边界,范围说明

从结果中,可以看到取到了27号的数据,可能是处理的时间没有 小时,分钟,秒。

例子2:

select *  from bips_hpd_helpdesk a WHERE  str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d') 
BETWEEN str_to_date('2018-01-16','%Y-%m-%d') AND str_to_date('2018-01-27','%Y-%m-%d')

结果2:

mysql中between的边界,范围说明

找到问题: 毫秒值转换为时间,发现这里保存的毫秒值,没有保存时分秒:

from_unixtime(a.REPORTTIME,'%Y-%m-%d') AS reportTime,a.REPORTTIME,  
             str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d %h:%i:%s') AS reportTime22
        FROM test  a WHERE  str_to_date(from_unixtime(a.REPORTTIME,'%Y-%m-%d'),'%Y-%m-%d %h:%i:%s') 
        BETWEEN str_to_date('2018-01-16','%Y-%m-%d %h:%i:%s') AND str_to_date('2018-01-27 %h:%i:%s','%Y-%m-%d')
     #subdate(curdate(),date_format(curdate(),'%w')-1) AND subdate(curdate(),date_format(curdate(),'%w')-8)
        ORDER BY from_unixtime(a.REPORTTIME,'%Y-%m-%d') DESC ;

查看到的时间值:

mysql中between的边界,范围说明

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

MySQL 相关文章推荐
mysql知识点整理
Apr 05 MySQL
如何设计高效合理的MySQL查询语句
May 26 MySQL
使用ORM新增数据在Mysql中的操作步骤
Jul 26 MySQL
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
Aug 02 MySQL
MySQL去除重叠时间求时间差和的实现
Aug 23 MySQL
MySQL基于索引的压力测试的实现
Nov 07 MySQL
浅谈如何保证Mysql主从一致
Mar 13 MySQL
面试中老生常谈的MySQL问答集锦夯实基础
Mar 13 MySQL
解决Mysql报错 Table 'mysql.user' doesn't exist
May 06 MySQL
MySQL普通表如何转换成分区表
May 30 MySQL
MySql如何将查询的出来的字段进行转换
Jun 14 MySQL
MySQL详解进行JDBC编程与增删改查方法
Jun 16 MySQL
MySQL 百万级数据的4种查询优化方式
MySQL 全文检索的使用示例
Jun 07 #MySQL
MySQL 常见的数据表设计误区汇总
Jun 07 #MySQL
浅谈MySQL next-key lock 加锁范围
MySQL为id选择合适的数据类型
MySQL单表千万级数据处理的思路分享
Jun 05 #MySQL
MySQL 时间类型的选择
Jun 05 #MySQL
You might like
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
window.location和document.location的区别分析
2008/12/23 Javascript
javascript 避免闭包引发的问题
2009/03/17 Javascript
Knockoutjs 学习系列(一)ko初体验
2016/06/07 Javascript
jquery输入数字随机抽奖特效的简单实现代码
2016/06/10 Javascript
vue中渐进过渡效果实现
2016/10/27 Javascript
详解angularjs获取元素以及angular.element()用法
2017/07/25 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
jquery validate 实现动态增加/删除验证规则操作示例
2019/10/28 jQuery
在vue中created、mounted等方法使用小结
2020/07/21 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
python实现QQ空间自动点赞功能
2019/04/09 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
python爬虫 urllib模块反爬虫机制UA详解
2019/08/20 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
Python切图九宫格的实现方法
2019/10/10 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
2019/12/26 Python
Keras自定义IOU方式
2020/06/10 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
建筑工程自我鉴定
2013/10/18 职场文书
化学学院毕业生自荐信范文
2013/12/17 职场文书
会计系中文个人求职信
2013/12/24 职场文书
个人简历自我评价
2014/02/02 职场文书
2014年综治宣传月活动总结
2014/04/28 职场文书
学习作风建设心得体会
2014/10/22 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
CSS布局之浮动(float)和定位(position)属性的区别
2021/09/25 HTML / CSS
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技