【Mysql】is、between、in运算符用法

本文详细介绍了数据库查询中的关键运算符,包括is用于判断空值和布尔值,如xxisnull和xxistrue等。between运算符用于范围判断,如xxbetween值1and值2。in运算符则用于判断字段值是否在给定范围内,而like运算符则支持字符串的模糊查找,配合_和%通配符实现灵活查询。这些运算符在日常数据库查询中起到重要作用。

is 运算符:

空值和布尔值的判断

有4种情况的使用:

  • xx is null:判断某个字段是“null”值——就是没有值, xx is not null:判断某个字段不是“null”值

  • xx is true:判断某个字段为“真”(true)

  • xxis false:判断某个字段为“假”(false)

  • 所谓布尔值,其实是tinyint(1)这个类型的一个“别名”,本质上,只是判断一个数字是否为0

  

between运算符:

范围判断,用于判断某个字段的数据值是否在某个给定的范围――适用于数字类型

语法:

xx between值1 and值2,含义:

XX字段的值在给定“值1”和“值2”之间,其实相当于:XX=值1 and xx <=值2;

 

in运算符:

给定确定数据的范围判断 

 

xx in(值1,值2,值3,...-.);含义﹔

表示字段XX的值为所列出的这些值中的一个,就算是涡足了条件﹔这些值,通常是零散无规律的。

它罗列出的数据,如果有一定的规律,则其实可以使用逻辑运算符或between运算符来代替。

like运算符:

对字符串进行模糊查找 

语法:

xx like "要查找的内容"

Like主要支持两种通配符,分别是"_"和"%"。

1、"_"代表匹配1个任意字符,常用于充当占位符;

2、"%"代表匹配0个或多个任意字符。

 

 常见示例及含义:

name like "%罗%": 表示nam中“罗”这一个字的所有数据行,

name like "罗%心": 表示nam中以“罗”开头的所有数据行,比如:罗兰,

name like "%罗": 表示nam中以“罗”结尾的所有数据行﹔比如:c罗,魂斗罗

name like "·罗_": 表示nam中以“罗”开头并只有2个字符的所有数据行,比如:罗兰

name like "·_罗": 表示nam中以“罗”结尾并只有2个字符的所有数据行,比如:c罗

 

 

MySQL 提供了多种比较运算符,用于对两个表达式进行比较,并返回布尔值(1 表示真,0 表示假,NULL 表示不确定)。以下是 MySQL 中常用的比较运算符列表及其用法说明: ### 等于(=) 用于判断两个操作数是否相等。如果相等,则返回 1,否则返回 0。 ```sql SELECT 5 = 5; -- 返回 1 SELECT 'abc' = 'ABC'; -- 返回 0(区分大小写) ``` ### 不等于(<> 或 !=) 用于判断两个操作数是否不相等。如果不相等,则返回 1,否则返回 0。 ```sql SELECT 5 <> 6; -- 返回 1 SELECT 5 != 5; -- 返回 0 ``` ### 大于(>)和大于等于(>=) 分别用于判断左边操作数是否大于或大于等于右边操作数。 ```sql SELECT 7 > 5; -- 返回 1 SELECT 7 >= 7; -- 返回 1 ``` ### 小于(<)和小于等于(<=) 分别用于判断左边操作数是否小于或小于等于右边操作数。 ```sql SELECT 3 < 5; -- 返回 1 SELECT 3 <= 3; -- 返回 1 ``` ### BETWEEN AND 用于判断某个值是否在指定范围之间(包含边界值),常用于数值或日期范围的查询。 ```sql SELECT 5 BETWEEN 3 AND 8; -- 返回 1 SELECT 2 BETWEEN 3 AND 8; -- 返回 0 ``` ### IN 用于判断某个值是否属于一个集合中的任意一个元素。 ```sql SELECT 5 IN (1, 2, 3, 4, 5); -- 返回 1 SELECT 'a' IN ('b', 'c', 'd'); -- 返回 0 ``` ### LIKE 用于模式匹配,通常用于字符串的模糊匹配。支持通配符 `%`(匹配任意数量字符)和 `_`(匹配单个字符)。 ```sql SELECT 'hello' LIKE 'h%'; -- 返回 1 SELECT 'hello' LIKE 'he_'; -- 返回 1 ``` ### IS NULL 和 IS NOT NULL 用于判断某个值是否为 NULL 或者不是 NULL。 ```sql SELECT NULL IS NULL; -- 返回 1 SELECT 5 IS NOT NULL; -- 返回 1 ``` ### REGEXP 或 RLIKE 用于正则表达式匹配,判断某个字符串是否符合指定的正则表达式。 ```sql SELECT 'hello' REGEXP '^h'; -- 返回 1 SELECT 'world' REGEXP '^h'; -- 返回 0 ``` ### GREATEST 和 LEAST 虽然它们是函数,但在某些情况下可以视为比较运算符的扩展。GREATEST 返回多个值中的最大值,LEAST 返回最小值。 ```sql SELECT GREATEST(10, 20, 30); -- 返回 30 SELECT LEAST(10, 20, 30); -- 返回 10 ``` ### 特殊比较:NULL 安全比较(<=>) 用于比较两个值是否相等,包括对 NULL 值的安全处理。当两边都为 NULL 时返回 1。 ```sql SELECT NULL <=> NULL; -- 返回 1 SELECT 5 <=> NULL; -- 返回 0 ``` 以上是比较运算符的基本用法,它们在 SELECT 查询、WHERE 条件过滤以及数据逻辑判断中非常常见。合理使用这些运算符可以提高查询效率和灵活性[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wwwarewow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值