我必须在表中查找特定列的所有值,其中的列值与名称类似
我不应该获取像a+b、a>b或a%b=c这样的值
所以我基本上不需要有特殊字符的列值,除了方括号和下划线
示例:返回test_123。
我试过了
select * from table_name where column_name REGEXP '^[[][^+-></%]';
这只是尝试查看[之后是否有任何特殊字符,但是如何查看整个列值中是否有特殊字符,以及我们是否应该使用反斜杠来定义MySQL中的特殊字符?
我在https://regexr.com/中进行了尝试,并获得了所需的正则表达式
(\[)\w+[^\+\=\/\*\%\^\!](\])
但是我不能在MySQL中做同样的事情
发布于 2017-10-12 23:38:04
*更新**
(\[[^\_]+])+这似乎可以满足您的需求。
你的查询也是错误的,我相信它应该是这样的:
SELECT * FROM mytable WHERE REGEXP_LIKE(mycolumn, 'regexp', 'i');https://stackoverflow.com/questions/46713555
复制相似问题