MySQL BETWEEN 用法
MySQL BETWEEN 语法
BETWEEN 运算符用于 WHERE 表达式中,选取介于两个值之间的数据范围。BETWEEN 同 AND 一起搭配使用,语法如下:
code
- WHERE column BETWEEN value1 AND value2
- WHERE column NOT BETWEEN value1 AND value2
通常 value1 应该小于 value2。当 BETWEEN 前面加上 NOT 运算符时,表示与 BETWEEN 相反的意思,即选取这个范围之外的值。
BETWEEN 实例
选取 uid 在 2 到 5 之间的用户数据:
code
- SELECT * FROM user WHERE uid BETWEEN 2 AND 5
返回查询结果如下:
uid | username | password | regdate | |
---|---|---|---|---|
2 | 小明 | a193686a53e4de85ee3f2ff0576adf01 | xiao@163.com | 1278063917 |
3 | Jack | 0193686a35e4de85ee3f2ff0567adf490 | jack@gmail.com | 1278061380 |
4 | 小王 | e10adc3949ba59abbe56e057f20f883e | 12345@163.com | 1289632955 |
5 | 5idev | a193686a53e4de85ee3f2ff0576adf01 | 5idev@5idev.com | 1291107029 |
除了数值类型外,BETWEEN 也支持字符串范围,如下选择出所有 username 介于 a 至 j 之间的用户(并包括单字母k/K):
code
- SELECT * FROM user WHERE username BETWEEN 'a' AND 'k'
字符范围也支持汉字,但通常来说没什么意义。
MySQL BETWEEN 边界
虽然几乎所有的数据库都支持 BETWEEN ... AND 运算符,但不同的数据库对 BETWEEN ... AND 处理方式是有差异的。在 MySQL 中,BETWEEN 包含了 value1 和 value2 边界值,如上面选取 uid 在 2 到 5 之间的用户数据例子。
而有的数据库则不包含 value1 和 value2 边界值(类似于 > and <),也有数据库包含 value1 而不包含 value2(类似于 >= and <)。所以在使用 BETWEEN ... AND 的时候,请检查你的数据库是如何处理 BETWEEN 边界值的。
MySQL BETWEEN 时间日期
BETWEEN AND 常用于检索时间或日期段内的内容,下面是一些常见的 BETWEEN 时间日期例子:
code
- // int 时间戳格式,查询 2008-08-08 20:00:00 到 2009-01-01 零点之前的数据
- SELECT * FROM table WHERE column_time BETWEEN 1218196800 AND 1230739199
- // DATE 格式,查询 2008-08-08 到 2009-01-01 零点之前的数据
- SELECT * FROM table WHERE column_time BETWEEN '2008-08-08' AND '2009-01-01'
- // DATETIME 格式,查询 2008-08-08 20:00:00 到 2009-01-01 零点之前的数据
- SELECT * FROM table WHERE column_time BETWEEN '2008-08-08 20:00:00' AND '2008-12-31 23:59:59'
但对于查询到当前时间的数据,建议使用 >= 运算符:
code
- // DATETIME 格式,查询 2008-08-08 20:00:00 到当前时刻的数据
- SELECT * FROM table WHERE column_time >= '2008-08-08 20:00:00'
可见,同样的需求,不同的字段类型,写法可能就不一样。从效率上来讲,int 时间戳格式效率最优。
以上 BETWEEN 的各个例子,虽然都是 SELECT 查询,但 BETWEEN 也可以用于 UPDATE、DELETE 等适用 WHERE 表达式的 SQL 中。
MySQL BETWEEN 数据比较
BETWEEN 还具有数据比较功能,语法如下:
code
- expr BETWEEN min AND max
当 expr 表达式的值大于或等于 min 且小于或等于 max 时, BETWEEN 的返回值为 1 ,否则返回 0 。利用这个功能,可以判断一个表达式或值否则在某个区间:
code
- // 返回 0
- SELECT 1 BETWEEN 2 AND 3
- // 返回 1
- SELECT 'b' BETWEEN 'a' AND 'c'
- // 判断日期范围
- SELECT 20080808 BETWEEN 20080101 AND 20090101
BETWEEN 与 <、<=、>=、> 等运算符在某些情况下有着类似的功能,但 BETWEEN 运算级别更高且效率上更甚一筹。当然由于 BETWEEN 存在边界值的问题而不够灵活,因此不同的情况,采用何种运算符,需要具体对待。
MySQL BETWEEN 用法相关推荐
- mysql存储过程知识点_知识点:Mysql 基本用法之存储过程
存储过程 一. 介绍 存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql 使用存储过程的优点: 用于替代程序写的SQL语句,实现程序与sql ...
- mysql高级用法(函数)
mysql 高级用法 # CONCAT 函数用于将两个字符串连接为一个字符串 SELECT CONCAT(businfo_name,businfo_creditCode) FROM tb_businf ...
- Mysql Explain用法pdf
<Mysql Explain用法pdf> 下载地址:网盘下载 转载于:https://www.cnblogs.com/long12365/p/9731040.html
- Mysql limit用法
MYSQL limit用法 1.Mysql的limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. Sql代 ...
- c语言中limit 用法,mysql limit用法及优化详解
摘要 腾兴网为您分享:mysql limit用法及优化详解,一点万象,喜马拉雅,唯品会,图乐等软件知识,以及盟重土城花屏补丁,宝马车主俱乐部,本地文件搜索,锁定刷新率,发券,微信多开真正版,云门禁,真 ...
- 企业级高性能MYSQL的用法---------(二)----------半同步复制 和 全同步复制(组复制)
企业级高性能MYSQL的用法---------(二)----------半同步复制 和 全同步复制(组复制) 1.基于GDIT的半同步复制 为什么要实现mysqI的复制 1.实现服务器负载均衡 2.通 ...
- mysql explain 实例_Mysql实例mysql explain用法学习
<Mysql实例mysql explain用法学习>要点: 本文介绍了Mysql实例mysql explain用法学习,希望对您有用.如果有疑问,可以联系我们. 导读:本节内容:mysql ...
- mysql as用法_MySQL基础学习总结
数据分析无法离开SQL这一重要的工具,经过十天时间的学习,并完全以MySQL工具对上一节的数据分析岗位数据进行了分析,加强了操作训练,对这一工具使用有了基本的经验.本着以输出为手段检验学习效果,以温故 ...
- mysql $的用法_MYSQL limit用法
1.Mysql的limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. Sql代码 SELECT * F ...
- mysql count() 写法,MySQL COUNT()用法及代碼示例
COUNT()功能: MySQL中的此函數用於查找從所選查詢返回的索引數. 特征: 此函數用於查找從所選查詢返回的索引數. 此功能在數字功能下. 此函數僅接受一個參數,即表達式. 此函數將忽略NULL ...
最新文章
- Android之SurfaceView(一)
- cosbench 安装
- 使用高级程序设计语言实现集合的交并差运算
- 北京联合大学计算机学院在哪个校区,北京联合大学各校区联系地址大全
- phpcms函数:用*号替换(私密信息)中间数据(如手机号、邮箱)
- Softmax回归与冗余性
- Jquery.ajax(……)
- 7 款神秘的开源中间件!
- MySQL innodb下的记录锁,间隙锁,next-key锁
- Python UI自动化报错汇总2
- Matlab中插值函数汇总及使用说明
- 解决ubuntu安装软件的问题。
- 怎么设置微信公众号自动回复蓝色字体小程序链接
- 搞死SAP系统系列 让系统无法登录
- MT4MT5EA编程跟单系统EA
- 实现两个分数的加减法编写一个C程序,
- android实现棱形效果
- 输入压缩空间量是分区量吗_都0202年了,对于电脑磁盘分区?你还不会设置!...
- 计算机的教育领域的应用研究,浅析计算机科学技术在现代教育中的应用研究
- Guitar Pro8吉他学习辅助软件