Oracle转换函数
转换函数共有3种:TO_CHAR(),TO_DATE()和TO_NUMBER()。
转字符串函数:该函数可以将数字或者日期转换为字符串。
语法:TO_CHAR(列|日期|数字,转换格式)。
转换格式主要有两种情况:
- 日期转换字符串: 年(yy),月(mm),日(dd),时(hh,hh24),分(mi),秒(ss)。
- 数字转换字符串: 任意的一位数字(9),货币(L,本地货币)。
案例:格式化日期
select TO_CHAR(SYSDATE,'yyyy-mm-dd'),TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss') FROM dual;
最终的数据类型就是字符串。
查询每个员工的编号,姓名,雇佣年份
select empno,ename,TO_CHAR(hiredate,'yyyy') year
FROM emp;
查询所有在二月份雇佣的员工信息
select *from emp where to_CHAR(hiredate,'mm')='02';
select *from emp where to_CHAR(hiredate,'mm')=2;/*效果一样*/
转换数字
select TO_CHAR(78738748586448,'L999,999,999,999,999') FROM dual;
转日期函数
如果某一个字符串按照“日-月-年”的方式编写,那么可以将其自动转换成日期类型,也可以将指定格式的字符转换为日期类型,可以依靠TP_DATE()函数完成。
语法:TO_DATE(字符串,转换格式)。
转换格式的表示方法: 年(yy),月(mm),日(dd),时(hh,hh24),分(mi),秒(ss)。
select TO_DATE('1998-11-01','yyyy-mm-dd') FROM dual;
转数字函数
将字符串(由数字组成)变为数字以便进行某些计算,语法:TO_NUMBER(字符串)。
select TO_NUMBER('1')+TO_NUMBER('2') FROM dual;
Oracle也可以实现数据类型自动转换:
select '1'+'2' from dual;