如果感觉不错的话,欢迎各位点赞、评论、转发加收藏哦!提出你的意见以及建议,以便小便及时更正!
各位看官,如果有看不明白的,希望关注我的头条号《菜鸟学习笔记》,里面有详细的说明哦。

数字型、字符串型、日期型这三类数据之间也是可以实现转换操作的,要转换,则需要使用如下的转换函数完成。

1、转字符串函数:TO_CHAR()
如果想要将一个日期或数字变为字符串,那么首先必须清楚转换格式的标记:
第一个、日期:年(yyyy)、月(mm)、日(dd);
第二个、时间:时(hh、hh24)、分(mi)、秒(ss);
第三个、任意数字(9)、本地货币符号(L)。
范例:将日期显示格式化
SELECT TO_CHAR(SYSDATE,yyyy-mm-dd) FROM dual;

SYSDATE里面会包含有日期和时间两类内容。
范例:格式化日期时间
12小时制:SELECT TO_CHAR(SYSDATE,yyyy-mm-dd hh:mi:ss) FROM dual;
24小时制:SELECT TO_CHAR(SYSDATE,yyyy-mm-dd hh24:mi:ss) FROM dual;
使用TO_CHAR()函数有一个最为强悍的功能就是可以实现日期数据的拆分。
SELECT TO_CHAR(SYSDATE,yyyy),TO_CHAR(SYSDATE,mm),TO_CHAR(SYSDATE,dd) FROM dual;

范例:要求查询出所有在2月份雇佣的雇员
应该拆分的是hiredatez中的月;
SELECT * FROM emp WHERE TO_CHAR(hiredate,mm)=02;

Oracle中有自动转型操作,如果发现不匹配会自动的完成类型匹配后再进行比较。
SELECT * FROM emp WHERE TO_CHAR(hiredate,mm)=02;
除了转换日期之外还可以转换数字。
SELECT TO_CHAR(13513413462467,L999,999,999,999,999) FROM dual; L代表货币;

2、转日期函数TO_DATE()
如果想要编写一个日期型数据,那么需要按照指定的字符串格式编写。实际上这种操作属于Oracle的自动转型,但是除了自动转型之外,也可以采用手工的方式转型。
范例:将字符串变为日期
SELECT TO_DATE(1889-10-19,yyyy-mm-dd) FROM dual;

3、转数字函数TO_NUMBER()
SELECT TO_NUMBER(1) + TO_NUMBER(2) FROM emp;

但是Oracle里面已经默认提供了许多的转换机制,所以针对与转换函数而言,唯一重要的也就是TO_CHAR()函数。
各位看官,如果有看不明白的,希望关注我的头条号《菜鸟学习笔记》,里面有详细的说明哦。

