select * from v_BuildHouse where round(销售单价1) >= 10,这个语句一直报无效数字的错误,这是为什么,一开始我以为(销售单价1)有小数点的原因,然后我用round四舍五入取整,还是报无效数字,这是为什么?v_BuildHouse是试图,orcale数据库。
你的语句写错了
示例:-----------------------------------------------------
如何使用 Oracle Round 函数 (四舍五入)
描述 : 传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果。
SELECT ROUND( number, [ decimal_places ] ) FROM DUAL
参数:
number : 欲处理之数值
decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 )
Sample :
select round(123.456, 0) from dual; 回传 123
select round(123.456, 1) from dual; 回传 123.5
select round(123.456, 2) from dual; 回传 123.46
select round(123.456, 3) from dual; 回传 123.456
select round(-123.456, 2) from dual; 回传 -123.46
这样还是错啊,为什么?
这样可以,但我想把它当条件查询,一写成图一就报无效数字。
问题解决了,是数据的问题,数据中包含了文字,谢谢了