oracle中的varchar2能和double直接计算吗?

比如:
select 
t2.*,round(t2.TRADE/t2.TECH,2) as ab
from 
....
t2.TRADE(varchar2)
t2.TECH(double)

一只萌萌小番薯
浏览 1694回答 2
2回答

蝴蝶刀刀

可以计算,但存在隐式转换,当TRADE转换不了为数字的时候就会抛出oracle异常隐式转换时oracle系统内部运算的时候进行的类型转换,不需要手动调用,但是会消耗一定的性能,编写代码时应尽量避免隐式转换,如有一个字段类型是varchar2类型,如果对其使用数值运算符,oracle系统会转化为number类型进行运算,如果不是数字类型的字符,就会抛出ORA-01722: 无效数字的异常。才疏学浅,见谅。
打开App,查看更多内容
随时随地看视频慕课网APP