发布网友 发布时间:2022-04-24 06:45
共2个回答
懂视网 时间:2022-04-07 22:52
使用过一个关联查询,两个表的字段定义了不同的类型。一个字段是varchar2类型,另一个字段是number类型,内容如下:‘00187‘和187。在使用中发现会自动将varchar2类型转换为number,即187和187。
效果与to_number()一样。
专门写了两个sql测试了下,如下:
select case when ‘0110‘ = 110 then ‘true‘ else ‘false‘ end from dual; select case when to_number(‘0110‘) = to_number(110) then ‘true‘ else ‘false‘ end from dual;结果都是true。
不过为了保险起见还是用to_number()进行转换更好一些。
ORACLE-012:oracle中纯数字的varchar2类型和number类型自动转换
标签:
热心网友 时间:2022-04-07 20:00
oracle中把varchar2转成number类型的方法是用to_number函数来完成,使用TO_NUMBER函数将字符转换为数字,To_number函数的格式如下:TO_NUMBER(char[, '格式'])。
varchar2型转成number型的前提条件是varchar2中存放的数据必须是数字字符,否则在转换过程中会报错。
使用函数:to_number
具体方法:select to_number('100.10') from al;
结果: