oracle数据库存在的隐式转换(varchar,date,number)

我们会发现,在oracle中,有些数据的类型就算不一样也是可以比较,相加的。

select '123'+123  from dual;==》246

其实上面是存在隐式转换的,oracle自行处理了而且。

oracle存在三大类型的转换:1,数字类型 2,字符类型 3,日期类型。但是他们并不是可以互相可以转换的。

用函数转换的叫做显式转换,不用函数转换的叫做隐式转换。

需要注意的是,在使用函数转换的时候,数据的格式要符合。不然会出问题。

                                                                         

oracle数据库存在的隐式转换(varchar,date,number)_第1张图片

一,日期类型转换字符类型 (转换格式不区分大小写)

to_char(字段名,'yyyy-mm-dd ')                    --->  2016-12-05

to_char(字段名,'yyyy-mm-dd hh24:mi:ss ')   --->  2016-12-05 12:20:30

二,字符型转换成日期。

to_date(字段名,'yyyy-mm-dd');

to_date(字段名, 'yyyy-mm-dd hh24:mi:ss ' );

查询1980年12月17日入职的员工(方式一:日期隐示式转换)
select * from emp where hiredate = '17-12月-80';
使用to_char(日期,'格"常量"式')函数将日期转成字符串,显示如下格式:2015 年 04 月 25 日 星期六
select to_char(sysdate,'yyyy" 年 "mm" 月 "dd" 日 "day') from dual;

三,字符类型转换成数字类型。
使用to_number('字符串')函数将字符串‘123’转成数字123
select to_number('123') from dual;

四,数字类型换成字符类型

SELECT to_char(123) FROM dual;



你可能感兴趣的:(数据库)