MySQL正则查询,在线求助!!!

阅读更多

表中字段:receivtype  
字段内容如下:
1-1-2-3-4-5-6-7-8-9-16|2-1-2-3-4-5-6-7-8-9-16|3-1-2-3-4-5-6-7-8-9-16
以'|'作为分隔,每一小段如:1-1-2-3-4-5-6-7-8-9-16 ,每一小段中第一个数字代表一种类型,后面的数字代表子类。
例如:1-1-2-3-4-5-6-7-8-9-16 中 第一个:1 代表大类为1,其余后面的:1、2、3、4、5、6、7、8、9、16是子类
问题:我目前知道大类 和 其大类下面的一个子类。我要通过查询匹配出来。求sql。

 

答案如下:

select * from test_operation where name regexp '(^$a(-[1-9])*(-$b))|(\\|$a(-[1-9])*(-$b))';
$a为大类参数,$b为子类参数

你可能感兴趣的:(MySQL)