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 InnoDB ReplicaSet(副本集)简单介绍
Apr 24 MySQL
MySQL Router实现MySQL的读写分离的方法
May 27 MySQL
MySQL系列之六 用户与授权
Jul 02 MySQL
MySQL系列之一 MariaDB-server安装
Jul 02 MySQL
MySQL 那些常见的错误设计规范,你都知道吗
Jul 16 MySQL
SQL实现LeetCode(177.第N高薪水)
Aug 04 MySQL
MySQL表类型 存储引擎 的选择
Nov 11 MySQL
Mysql如何实现不存在则插入,存在则更新
Mar 25 MySQL
Innodb存储引擎中的后台线程详解
Apr 03 MySQL
CentOS MySql8 远程连接实战
Apr 19 MySQL
在MySQL中你成功的避开了所有索引
Apr 20 MySQL
MySQL使用IF语句及用case语句对条件并结果进行判断 
Sep 23 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
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
Javascript之文件操作
2007/03/07 Javascript
javascript 处理事件绑定的一些兼容写法
2009/12/24 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
React-router v4 路由配置方法小结
2017/08/08 Javascript
VSCode配置react开发环境的步骤
2017/12/27 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
详解Vue2.0组件的继承与扩展
2018/11/23 Javascript
小程序自定义日历效果
2018/12/29 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
nodejs使用node-xlsx生成excel的方法示例
2019/08/22 NodeJs
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
Python执行时间的计算方法小结
2017/03/17 Python
pycharm显示远程图片的实现
2019/11/04 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
Python 限定函数参数的类型及默认值方式
2019/12/24 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
Python3合并两个有序数组代码实例
2020/08/11 Python
html5中的input新属性range使用记录
2014/09/05 HTML / CSS
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
销售演讲稿范文
2014/01/08 职场文书
2014年社区植树节活动方案
2014/02/28 职场文书
群众路线自我剖析材料
2014/10/08 职场文书
批评与自我批评发言稿
2014/10/15 职场文书
2015年护士节活动总结
2015/02/10 职场文书
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python