整体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,仍然提示无效数字。有没有办法解决一下,正则表达式替换掉字符串的做法可能不太行,因为数字带有不确定的小数位数,还有负数的情况
如题,因为有n张子报表传类型参数(type)给1张主报表,每张子报表传的类型有好几个,比如子报表1传类型a,b,子报表2传类型c,d。所以我想在数据集中直接 where 类型 in (参数type),参数type的值为" a,b "这种类型,但是这样写的话会把a,b直接当成一个整体的字符串,相当于直接 where 类型 = "a,b" 了 ,我想的是整一个分割函数,吧a,b分割为数组,但是使用帆软的内置split公式不行,会报错,所以请教下有没有解决方案?