整体sql 大致为:select a,b,c from A表 inner join ( select avg(b1) b1,c1,id from B表 group by c1,id) B on B.id = a.id 这种形式,但是奇怪的是单独执行里面的sql就会提示无效数字,但是整体执行就能成功。但是吧整体拿到另外一个sql里面使用union all拼接时又会报错无效数字
123.7zoracle数据库表某一列是字符串类型的数字,而且存在空值,我需要将这列的值进行筛选,筛选出大于某个数字的结果。我在sql中已经将空值过滤掉了,查询时只剩下非空的字符串类型的数值,然后我使用to_number将字符串转为数字,此时没有报错,正常情况下就说明已经转换成功了,但是我一加上 to_number(列名)>10的判断就提示无效数字。然后我嵌套一层select * from (查询结果) where 列名>10,仍然提示无效数字。有没有办法解决一下,正则表达式替换掉字符串的做法可能不太行,因为数字带有不确定的小数位数,还有负数的情况