MySQL查询中,剔除掉全部是数字的字段,不用正则表达式,有没有办法写

MySQL中,剔除掉全部是数字的字段,不用正则表达式,有没有办法写

你到底要剔除字段还是行啊

你这是有一张表,表里面有很多列,假设有四列,然后这四列数据里面,数字和非数字字符全部都有,假设某一行记录的四列数据的值全部是纯数字,你就想在查询结果中把这个数据过滤掉,不让它查出来,是不是?

如果是的话,楼上这位兄弟的方法是个方向,但是没有考虑小数,比如 cast('0.1' as int) 也是0,所以应该用 float

那么接下来,你需要的数据应该是

 cast(字段1 as float))= 0  or 
 cast(字段2 as float))= 0  or 
 cast(字段3 as float))= 0  or 
 cast(字段4 as float))= 0  

即任意字段为非数字。

但是这个时候问题来了,如果4个列里,有3个是大于0的数字,有一个是等于0的,是不是也要剔除?
所以这个时候就得把是0的值转换成非0的数字,再套用上面的条件,即

cast(decode(字段1,'0','1',字段1) as float)= 0 or