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
MySQL为id选择合适的数据类型
Jun 07 MySQL
MySQL 8.0 驱动与阿里druid版本兼容问题解决
Jul 01 MySQL
SQL实现LeetCode(196.删除重复邮箱)
Aug 07 MySQL
mysql事务隔离级别详情
Oct 24 MySQL
MySQL插入数据与查询数据
Mar 25 MySQL
MySQL库表太大怎么办? 数据库分库分表项目实践
Apr 11 MySQL
深入理解mysql事务隔离级别和存储引擎
Apr 12 MySQL
MySQL示例讲解数据库约束以及表的设计
Jun 16 MySQL
分享很少见很有用的SQL功能CORRESPONDING
Aug 05 MySQL
MySQL远程无法连接的一些常见原因总结
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编写大型网站问题集
2007/03/06 PHP
PHP的开发框架的现状和展望
2007/03/16 PHP
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
2010/03/15 PHP
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
Python Web框架Flask下网站开发入门实例
2015/02/08 Python
python超简单解决约瑟夫环问题
2015/05/12 Python
python线程池threadpool使用篇
2018/04/27 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
python实现简单的五子棋游戏
2020/09/01 Python
python time.strptime格式化实例详解
2021/02/03 Python
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
解释一下钝化(Swap out)
2016/12/26 面试题
化学教师教学反思
2014/01/17 职场文书
一份创业计划书范文
2014/02/08 职场文书
条幅标语大全
2014/06/20 职场文书
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
五年级上册复习计划
2015/01/19 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
学校党员干部承诺书
2015/05/04 职场文书
2019年农民幸福观调查的实践感悟
2019/12/19 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python
Vue详细的入门笔记
2021/05/10 Vue.js
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers
Linux系统下MySQL配置主从分离的步骤
2022/03/21 MySQL
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js