mysql对多个字符串集合取交集以及判断一个字符串集在包含另一个字符串集的自定义方法

本文探讨了在MySQL中如何处理字符串集合的交集问题和判断一个字符串集是否包含在另一个字符串集中的方法。通过自定义存储过程,实现了分隔符为';'的字符串集合操作,并分享了实际使用示例,旨在帮助开发者避免重复工作,提高效率。
摘要由CSDN通过智能技术生成

最近在做开发一块业务,碰到了一些棘手的问题,需要排序,但是系统中却没有成熟的模型设计,只能用SQL去拉各个表的数据进行组合,这样子看来也能进行的下去,但是遇到了最后的排序问题,让我着实有点头疼。

问题一:多个字符串集合取交集

简单的说就是把查出来的部分固定的字段数据中的交集数据拿出来,然后根据交集数据的个数进行排序举个例子就是这样: 

一个字段的数据是这样:

123,234,456,789

b字段的数据是这样:

123,234,456,695

那想要得到的结果是两个交集:

123,234,456

这样用mysql的内置的方法肯定是不能直接得出这样的结果的,只能借助方法进行实现,所以我写了这样的方法:

DELIMITER $$

USE `sogaa_online`$$

DROP FUNCTION IF EXISTS `find_interstr_in_set`$$

CREATE DEFINER=`root`@`%` FUNCTION `find_interstr_in_set`(str VARCHAR(5000)) RETURNS VARCHAR(500) CHARSET utf8
BEGIN
    DECLARE first_one_str VARCHAR(100);
    DECLA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值