当前位置:首页 > 编程技术 > MySql > 正文内容

mysql中between的用法

曾经6个月前 (06-21)MySql43551

between的介绍

日常sql查询过程中经常要筛选某个属性或某个表达式结果的某个范围内的数据,这个时候我们经常通过 > 或者 < 来进行筛选,有的时候再项目中由于 >< 经常会和起始标志符冲突,所以需要进行转义,这个过程很容易出现一些问题,其实在sql的关键字中,有一个非常实用的关键字可以进行范围查询,这个关键字就是between,接下来我们就来深入的了解一下between的用法。

between的语法

between关键字是一个逻辑操作符用来筛选指定属性或表达式某一范围内或范围外的数据。between关键字常用在where关键字后与selectupdatedelete共同使用。between的使用语法如下:

expr [NOT] BETWEEN begin_expr AND end_expr;1

在整个表达式中,expr表示的是一个单一的属性或者是一个计算的表达式,整个表达式中的三个参数 expr、begin_expr、end_expr 必须是同一种数据类型。

  • between筛选的是 expr >= begin_expr并且 expr <= end_expr 的数据,如果不存在则返回的是0;

  • not between筛选的是 expr < begin_expr或者 expr > end_expr 的数据,如果不存在则返回的是0;

  • 如果 expr 返回的是 NULL,则between 也返回的是null (暂未验证)

between的用法

假如我们有一张数据库表如下所示

CREATE TABLE `t_income` (  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '唯一自增id',  `income_date` varchar(255) NOT NULL COMMENT '收入年月',  `amount` float NOT NULL COMMENT '收入金额',  `target_amount` float NOT NULL DEFAULT '0' COMMENT '目标收入',  `create_time` datetime NOT NULL COMMENT '创建时间',  PRIMARY KEY (`id`)  ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;12345678
  • 查询表中amount>=10并且amount<=50的数据

select * from t_income where amount between 10 and 50;12
  • 查询表中amount 和 target_amount 总和 >=100并且<=500的数据

select * from t_income where (amount + target_amount) between 100 and 500;12
  • 查询表中create_time 在 2019-01-01 到 2019-09-01 这个日期范围内的数据

select * from t_income where create_time between cast('2019-01-01' as DATE) and cast('2019-09-01' as DATE);12
  • 查询表中amount < 10 或者 amount > 50 的数据

select * from t_income where amount not between 10 and 50;12

between的总结

通过上面的讲解,我们现在应该已经基本的学会了between的用法,但是如果在开发中,我们要查询某个属性大于某一个值 并且小于某个值的话,我们就只能用 > and <

扫描二维码推送至手机访问。

版权声明:本文由珍惜发布,如需转载请注明出处。

本文链接:https://www.zp68.com/article/68.html

分享给朋友:

“mysql中between的用法” 的相关文章

MYSQL性能优化之子查询

有时候表大的情况下直接查询会影响查询性能。我们可以先查询出来索引,再利用索引子查询记录。这样可以大大提升性能。SELECT fl.*,u.username FROM  files fl,users u  WHERE&nb...

MySql-CPU过高处理-开启MySQL慢查询日志

开启MySQL慢查询日志sudo nano /etc/mysql/my.cnflog_slow_queries = /var/log/mysql/slow.sqllong_query_time = 0.5log-queries-not-using-indexes #不使用索引,这句可以不用sudo...

查看 Mysql 数据库的执行记录

问题有时想要查看不同终端或者web端执行的数据库查询。在学习 sql注入 的时候可以通过数据库执行记录查看真正注入的sql语句。方法开启数据库的日志模式,通过日志查看历史执行记录开启&关闭日志模式(可选择输出到表或文件中)SET GLOBAL log_output&nbs...

MYSQL数据类型介绍

一、MySQL的数据类型主要包括以下五大类:整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT浮点数类型:FLOAT、DOUBLE、DECIMAL字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT...

MySQL BETWEEN 用法与实例

MySQL BETWEEN 用法与实例本文介绍了在 MySQL 数据库中,如何使用 BETWEEN 运算符确定一个值是否介于某两个值之间。BETWEEN 运算符确定一个值是否介于某两个值之间。BETWEEN 运算符常用于比较数字和日期类型的数据。MySQL B...

评论列表

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。