数据库逗号分隔的ID多对多比对

sql是在网上找的,先感谢大佬分享
数据库用的是mysql,但是sql应该是通用的

sql案例:
select concat(',', '123456,123457', ',') regexp concat(',', replace('123457,456789', ',', ',|,'), ',');

解析:
重点为 concat(',', '123456,123457', ',') regexp concat(',', replace('123457,456789', ',', ',|,'), ',');
其中regexp两侧为比对的字符串(逗号分隔的ID),左侧为纯字符串,右侧为正则字符串

左侧 concat(',', '123456,123457', ',') 执行结果为
',123456,123457,'
右侧 concat(',', replace('123457,456789', ',', ',|,'), ',') 执行结果为(其中先执行替换再执行拼接)
',123457,|,456789,'

你可能感兴趣的:(数据库逗号分隔的ID多对多比对)