繁体   English   中英

mysql查询中的正则表达式

[英]regular expression in mysql query

我有像mysql表值

1-2

1-2-3

1-4-5

1-4-5-12-15

15-45-75

1-5-15-25-35-55

55-65-75

我想选择哪些行的编号为5(不是15或25或35)。

我尝试过LIKE查询,但它给出了包含行的所有5个值(包括15,35,45,55)。

SELECT ... WHERE linkage LIKE '%5%'

我想我们可以通过REGEXP来做到这一点。 你能帮我吗?

您可以使用FIND_IN_SET执行此操作:

SELECT ... 
WHERE FIND_IN_SET(5, REPLACE(linkage,'-',','));

示例@ sqlfiddle

尝试

SELECT ... WHERE concat('-',linkage,'-') LIKE '%-5-%'


SQL小提琴演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM