MySQL使用contains函数进行字符串包含判断(mysql中判断包含)

MySQL使用contns函数进行字符串包含判断

在MySQL中,经常需要进行字符串包含判断。比如我们要查询某个字段中是否包含某个关键字,或者要筛选出符合某个正则表达式的记录。这时,我们可以使用MySQL的contns函数来进行字符串包含判断。

contns函数是MySQL 8.0版本引入的新函数,它的语法如下:

“`sql

CONTNS(str, sub_str)


其中,str表示要进行包含判断的字符串,sub_str表示要检查的子字符串。如果str包含sub_str,返回1;否则返回0。

接下来,我们以一个具体的例子来说明contns函数的使用。

假设我们有一个表student,其中包含以下字段:

| id | name | age | gender | score |
| --- | -------- | ---- | ------ | ----- |
| 1 | 小明 | 18 | 男 | 80 |
| 2 | 小红 | 19 | 女 | 90 |
| 3 | 王二狗 | 20 | 男 | 70 |
| 4 | 张三丰 | 25 | 男 | 100 |
| 5 | 李花花 | 22 | 女 | 85 |
| 6 | 王老五 | 30 | 男 | 60 |
| 7 | 阿福 | 28 | 男 | 75 |
| 8 | 丽丽 | 23 | 女 | 95 |
| 9 | 老张 | 40 | 男 | 50 |
| 10 | 小黑 | 21 | 男 | 88 |
现在,我们要找出所有名字中包含“王”的学生记录,可以使用以下SQL语句:

```sql
SELECT * FROM student WHERE CONTNS(name, '王');

运行以上SQL语句,可以得到以下结果:

| id | name | age | gender | score |

| — | ——– | —- | —— | —– |

| 3 | 王二狗 | 20 | 男 | 70 |

| 6 | 王老五 | 30 | 男 | 60 |

另外,contns函数还支持正则表达式,可以用于匹配更为复杂的情况。例如,我们要找出名字中包含“张”或者“花”的学生记录,可以使用以下SQL语句:

“`sql

SELECT * FROM student WHERE CONTNS(name, ‘[张|花]’);


运行以上SQL语句,可以得到以下结果:

| id | name | age | gender | score |
| --- | -------- | ---- | ------ | ----- |
| 4 | 张三丰 | 25 | 男 | 100 |
| 5 | 李花花 | 22 | 女 | 85 |
综上所述,contns函数是MySQL中一个十分实用的函数,它可以很方便地进行字符串包含判断,也可以用于正则表达式匹配。使用contns函数,可以大大提高MySQL查询的灵活性和效率。

数据运维技术 » MySQL使用contains函数进行字符串包含判断(mysql中判断包含)