找回密码
 注册账号

QQ登录

只需一步,快速开始

《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 3829|回复: 0

MySQL BETWEEN 用法 是否在某两个数值之间

[复制链接]

431

主题

77

回帖

8

广播

论坛版主

积分
214
泰拉
0
水晶
10
铜钥匙
0
银钥匙
0
金钥匙
0

【江湖新秀】【宝剑回鞘】【泰拉达人】【奥运选手】

发表于 2021-3-13 13:00:21 | 显示全部楼层 |阅读模式
MySQL BETWEEN 语法
BETWEEN 运算符用于 WHERE 表达式中,选取介于两个值之间的数据范围。BETWEEN 同 AND 一起搭配使用,语法如下:
NOT BETWEEN 取反 就是不在这个区间的


  1. WHERE column BETWEEN value1 AND value2
  2. WHERE column NOT BETWEEN value1 AND value2
复制代码


通常 value1 应该小于 value2。当 BETWEEN 前面加上 NOT 运算符时,表示与 BETWEEN 相反的意思,即选取这个范围之外的值。
BETWEEN 实例
选取 uid 在 2 到 5 之间的用户数据:

  1. SELECT * FROM user WHERE uid BETWEEN 2 AND 5
复制代码

除了数值类型外,BETWEEN 也支持字符串范围,如下选择出所有 username 介于 a 至 j 之间的用户(并包括单字母k/K):
SELECT * FROM user WHERE username BETWEEN 'a' AND 'k'
字符范围也支持汉字,但通常来说没什么意义。

MySQL BETWEEN 时间日期
BETWEEN AND 常用于检索时间或日期段内的内容,下面是一些常见的 BETWEEN 时间日期例子:


  1. // int 时间戳格式,查询 2008-08-08 20:00:00 到 2009-01-01 零点之前的数据
  2. SELECT * FROM table WHERE column_time BETWEEN 1218196800 AND 1230739199

  3. // DATE 格式,查询 2008-08-08 到 2009-01-01 零点之前的数据
  4. SELECT * FROM table WHERE column_time BETWEEN '2008-08-08' AND '2009-01-01'

  5. // DATETIME 格式,查询 2008-08-08 20:00:00 到 2009-01-01 零点之前的数据
  6. SELECT * FROM table WHERE column_time BETWEEN '2008-08-08 20:00:00' AND '2008-12-31 23:59:59'
  7. 但对于查询到当前时间的数据,建议使用 >= 运算符:
  8. // DATETIME 格式,查询 2008-08-08 20:00:00 到当前时刻的数据
  9. SELECT * FROM table WHERE column_time >= '2008-08-08 20:00:00'
复制代码


可见,同样的需求,不同的字段类型,写法可能就不一样。从效率上来讲,int 时间戳格式效率最优。

以上 BETWEEN 的各个例子,虽然都是 SELECT 查询,但 BETWEEN 也可以用于 UPDATE、DELETE 等适用 WHERE 表达式的 SQL 中。

MySQL BETWEEN 数据比较

BETWEEN 还具有数据比较功能,语法如下:

  1. expr BETWEEN min AND max
复制代码


当 expr 表达式的值大于或等于 min 且小于或等于 max 时, BETWEEN 的返回值为 1 ,否则返回 0 。
利用这个功能,可以判断一个表达式或值否则在某个区间:


  1. // 返回 0
  2. SELECT 1 BETWEEN 2 AND 3
  3. // 返回 1
  4. SELECT 'b' BETWEEN 'a' AND 'c'
  5. // 判断日期范围
  6. SELECT 20080808 BETWEEN 20080101 AND 20090101
复制代码


获得 大穷神卡 一张

卡片说明:mickeyort 被 [残忍的蓝焰] 附体!失去了 47 泰拉.

卡片效果:损失 47 泰拉

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-5-3 07:33 , Processed in 0.108463 second(s), 39 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表