`

【mysql】MySQL函数,判断两个以逗号分割的字符串是否存在交集

 
阅读更多

    假如我有两个字符串str1:‘1001,1002,1003,1004’,str2:'1001,2001,3001,4001'。

 

    现在需要判断这两个以逗号分割的字符串是否存在交集,则可以创建一个mysql函数来实现。

 

    代码如下: 

#创建FUNCTION
DELIMITER $$;
 
CREATE FUNCTION `is_mixed`(str1 TEXT, str2 TEXT) RETURNS TINYINT
    BEGIN
    DECLARE ismixed TINYINT DEFAULT 0;
    set ismixed:=(select concat(str1, ',') regexp concat(replace(str2,',',',|'), ','));
    RETURN ismixed;
    END;$$
 
DELIMITER ;
 
#执行FUNCTION
select is_mixed('1001,1002,1003,1004', '1001,2001,3001,4001');

 

    由于MySQL没有布尔类型, 所以选择了tinyint类型的1和0来表示true 和 false。

 

    执行结果:返回结果为1,表示true, 存在交集。

分享到:
评论

相关推荐

    php函数及正则表达式

    2. **`array_intersect()`**:返回两个或多个数组的交集。 3. **`array_merge()`**:合并一个或多个数组。 4. **`array_pop()`**:弹出数组的最后一个元素。 5. **`array_push()`**:向数组末尾添加一个或多个...

    探索MySQL地理空间数据的奥秘:GIS功能全解析

    - `ST_Intersects`:判断两个空间对象是否有交集。 - `ST_Buffer`:为一个空间对象生成一定距离的缓冲区。 - `ST_GeomFromText`:将WKT(Well-Known Text)格式的字符串转换为空间对象。 ##### 3.3 空间索引 为了...

    PHP与MySQL程序设计

    - **echo语句**:另一种输出文本的方式,常用于拼接多个字符串。 - **printf语句**:格式化输出字符串。 - **sprintf**:类似`printf`,但结果保存在一个变量中而不是直接输出。 - **PHP支持的数据类型** - **...

    MySQL数据库系统及应用综合练习.docx

    综上所述,这些题目覆盖了MySQL数据库系统的基础知识,包括日期时间操作、变量命名规则、字符串处理、数据模型、数据操纵、E-R图设计、函数用法、SQL语法、数据库管理操作以及Web应用开发工具等。学习这些知识点对于...

    MYSQL基本查询操作命令笔记

    以上知识点涵盖了MySQL基本查询操作命令的主要内容,包括了基础查询语法、去除重复行、引入别名、取值范围、字符串匹配、表内比较、集合操作、谓词、集合比较运算符、存在量词、连接表、表头重命名、SQL计算以及控制...

    MySQL数据库系统及应用综合练习.doc

    3. 字符串处理:在MySQL中,字符串'hel'lo'会输出'hel'lo',因为单引号内的特殊字符不会被转义。 4. 数据库模型:关系数据库模型以二维表的形式组织数据,选项C正确。 5. 清空表数据:`TRUNCATE TABLE`用于删除表...

    MySQL数据库系统及应用综合练习.pdf

    3. 字符串处理:字符串 `'hel'lo'` 会被当作一个整体,输出时不会自动连接,因此结果是带有单引号的原始字符串 `hel'lo`。 4. 关系数据库模型:数据以二维表格形式组织,即每个表由行和列组成,对应于C选项。 5. ...

    mysql详细学习笔记

    包括数学函数、日期函数、字符串函数等。 #### DQL之连接查询—多表查询 **笛卡尔乘积** 当两个表进行连接查询且没有合适的连接条件时,会产生笛卡尔积现象,即两表的所有行都会相互组合一次。 **连接查询的分类...

    《MySQL数据库系统及应用》综合练习宣贯.pdf

    【3】 在MySQL中,单引号(')用于字符串的定界,如果字符串内部包含单引号,需要使用反斜杠(\)进行转义。因此,'hel'lo'会被解析为'hel'lo',即在'hel'后面直接跟'lo',不包含转义,答案是A。 【4】 关系数据库模型...

    Python 从入门到深入.docx

    - 比较两个列表是否相等。 - **元组** - 介绍元组的基本概念和操作。 #### 七、字典 - **创建和访问字典** - 如何声明字典以及如何通过键来访问其值。 - **字典操作** - 添加、删除字典中的键值对。 - **统计和...

    【MySQL数据库】二级考试易错题整理

    - INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN:INNER JOIN返回两个表的交集,LEFT JOIN返回左表所有记录及右表匹配的记录,RIGHT JOIN反之,FULL OUTER JOIN返回两表的所有记录。 7. 子查询: - 子查询...

    PHP自定义函数实现数组比较功能示例

    或者使用 `array_intersect`、`array_uintersect` 等函数找出两个数组的交集。 此外,除了数组比较之外,PHP中还有很多其他数组操作技巧。比如,`array_map` 函数可以对数组中的每个元素应用一个用户自定义的回调...

    大厂面试系列二.pdf

    在函数内定义一个字符数组,并使用gets函数输入字符串时,如果输入超出了数组分配的空间大小,就会发生缓冲区溢出。这种情况会导致程序崩溃的原因是,溢出的数据可能会覆盖程序的其他内存区域,包括栈上的返回地址、...

    程序员的SQL金典.rar

     5.1.14 求两个变量的反正切  5.1.15 求余切  5.1.16 求圆周率π值  5.1.17 弧度制转换为角度制  5.1.18 角度制转换为弧度制  5.1.19 求符号  5.1.20 求整除余数  5.1.21 求自然对数  5.1.22 求以10为底的...

    Python Cookbook

    1.3 测试一个对象是否是类字符串 8 1.4 字符串对齐 10 1.5 去除字符串两端的空格 11 1.6 合并字符串 11 1.7 将字符串逐字符或逐词反转 14 1.8 检查字符串中是否包含某字符集合中的字符 15 1.9 简化字符串的...

    2021-2022计算机二级等级考试试题及答案No.14849.docx

    8. Java字符串比较:在Java中,字符串是对象,比较字符串对象是否相等应该使用`equals()`方法,而不是`==`。因此,`s1==s2`为true,因为它们引用了相同的字符串对象,而`s1==s3`为false,因为它们引用不同的对象。 ...

Global site tag (gtag.js) - Google Analytics