mysql正则查讯求助

startnow 2003-08-25 11:17:28
|par|
______
1,4,5
------
2,3
------
2,3,6
------
2,3,6,9
------
2,10
------
2,7
-----
3,11
-----
如果我要查 其中包含某个数字的的 用正则应该怎么查呢?
...全文
43 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2003-08-25
  • 打赏
  • 举报
回复
假定检索包含6
SELECT * FROM tab_name where CONCAT(",",par,",") REGEXP ",6,"

注意使用CONCAT(",",par,",")给par两端加上分隔符以便于正则表达式的书写
startnow 2003-08-25
  • 打赏
  • 举报
回复
需要找到”2,3,6“中的6

再次感谢
xuzuning 2003-08-25
  • 打赏
  • 举报
回复
",6,"将匹配所有的被","括起的6
若在你的数据中有1,16,26
显然这个16和26是不应该被匹配的
xuzuning 2003-08-25
  • 打赏
  • 举报
回复
CONCAT(",",par,",") 后,par转换为
,1,4,5,
,2,3,
,2,3,6,
,2,3,6,9,
,2,10,
,2,7,
,3,11,
所以",6,"可以找到所有的6
若不做此操作,则
1,4,5
2,3
2,3,6
2,3,6,9
2,10
2,7
3,11
只能找到2,3,6,9 中的6

根据你需要来做吧

startnow 2003-08-25
  • 打赏
  • 举报
回复
谢谢~
查了一下手册
-----------------------------
CONCAT(str1,str2,...)
返回来自于参数连结的字符串。如果任何参数是NULL,返回NULL。可以有超过2个的参数。一个数字参数被变换为等价的字符串形式。
mysql> select CONCAT('My', 'S', 'QL');
-> 'MySQL'
mysql> select CONCAT('My', NULL, 'QL');
-> NULL
mysql> select CONCAT(14.3);
-> '14.3'
对这sql语句还是不大理解 REGEXP ",6," 第三条记录6后面并没有","号和开头一个前面也没有","号~ 也能查到 能详细讲解一下吗?



21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧