本文介绍了MySQL:使用“REGEXP"而不是“FIND_IN_SET"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在使用 MySQL 的 FIND_IN_SET 函数用于在集合中搜索数组.因此考虑使用 REGEXP.但是谁能帮我构建它.
I am having limitation in using MySQL's FIND_IN_SET function for searching array in set. Hence thinking of using of REGEXP. However can anyone help me constructing it.
例如我的要求
SELECT * FROM table AS t WHERE FIND_IN_SET('1,2,3', t.list);
因此想到使用REGEXP函数在集合内搜索数组.
Hence thinking of using REGEXP function to search array within set.
SELECT * FROM table AS t WHERE t.list REGEXP '1,2,3';
谁能帮我构建这个 REGEXP.
Can anyone help me building this REGEXP.
推荐答案您可以拆分搜索字符串并继续使用 FIND_IN_SET()
You can split your search string and continue to use FIND_IN_SET()
SELECT * FROM `table` AS t WHERE FIND_IN_SET('1', t.list) AND FIND_IN_SET('2', t.list) AND FIND_IN_SET('3', t.list)通过引入多对多表更好地规范您的数据.
Better yet normalize your data by introducing a many-to-many table.
更多推荐
MySQL:使用“REGEXP"而不是“FIND
发布评论