我正在尝试仅返回colA和colB不包含数字或空格的那些行

到目前为止,这是我的代码。

SELECT * FROM table_name WHERE colA REGEXP '[^0-9^\W]' AND colB REGEXP '[^0-9^\W]'

给定数据集
   colA        colB
---------- ----------
     test |  testB
      33  |  text    <- this is not returned
     blah |  0123A   <- this is returned

我以为我的问题是我的正则表达式...有什么帮助吗?

最佳答案

那么您的表达式不起作用是因为:33都是数字,并且您正在寻找任何非十进制,非空格字符。因此它不包含结果行。

尝试:

SELECT * FROM table_name WHERE colA NOT REGEXP '[0-9[:space:]]' AND colB NOT REGEXP '[0-9[:space:]]'

ETA:是的,忘记了\无论什么都不起作用

09-10 05:02
查看更多