我有一个带有varchar字段MY_FLD的表MY_TBL。我需要找到MY_FLD包含一个数字,后跟一个连字符,然后是一个数字(通常是一个范围)的行。
应选择以下行:
fffff 1-5 fdsfdsfds
1-5 fdsfdsfds
aaaa 10-23
1-50 fdsfdsfds而这些不应该是:
-5 dsgdgf
10- rere
-15
10 -23
10- 23数字-连字符-数字模式的正则表达式是\d+\-\d+。
如何在MySql语句中使用它?是否可以将模式提取到单独的字符串中?
fffff 1-5 fdsfdsfds -> 1-5
1-5 fdsfdsfds -> 1-5
aaaa 10-23 -> 10-23
1-50 fdsfdsfds -> 1-50发布于 2017-07-28 20:06:18
您可以使用此命令来检索匹配的行:
SELECT * FROM MY_TBL WHERE MY_FLD REGEXP '[0-9]+-[0-9]+'不需要转义-和匹配数字,使用[0-9]括号表达式。
但是,在MySQL中没有简单的内置方法来提取正则表达式匹配。
https://stackoverflow.com/questions/45373058
复制相似问题