ORACLE SQL数据类型转换

ORACLE SQL数据类型转换

开发工具与关键技术:Oracle sql*plus  PLSQL Developer
撰写时间:2019年3月25日

下面要说的是,如何将不同类型的数据进行转换处理
这里主要包括有三个函数 时间转换:TO_DATE ,字符转换:TO_CHAR 数值转换:TO_NUMBER
看下图理解:
ORACLE SQL数据类型转换_第1张图片

上图可以理解为(char字符,date时间,number数字)
1、当char类型转换date类型时需要用到to_date函数,
2、当date类型转换char类型时需要用到to_char函数
3、当char类型转换number类型时需要用到to_number函数
4、当number类型转换char类型时需要用到to_char函数
下面看例子
例1:将当前的时间转换为想要的格式输出
已经使用to_char函数进行转换的结果
说明:为什么要用to_char,因为sysdate是系统定义好的时间函数,而’’(单引号)里面的是字符,所以选择时间转字符

select TO_CHAR(sysdate,'YYYY_MM_DD') from employees;

ORACLE SQL数据类型转换_第2张图片

未使用to_char函数进行转换的数据

select sysdate from employees

ORACLE SQL数据类型转换_第3张图片
例2:将1999-01-01日期按格式显示出来
使用to_date函数把字符类型的’1999-01-01’转换为日期格式

select to_date('1999-01-01','yyyy-mm-dd') from employees;

ORACLE SQL数据类型转换_第4张图片

例3:将工资转换为数值类型
(因为工资已经是数值类型的,所以在下面只是表达一下,说明是需要字符类型才能转换为数值类型,但是一定要对应后面的转换)

SELECT TO_NUMBER(TO_CHAR(SALARY,'$999,999,999,999.99'),'$999,999,999,999.99') FROM EMPLOYEES

在这里插入图片描述
不对应后面的类型例子,下面例子是不成立的,因为前面字符比后面的数字类型要多

Select to_number('¥123,465,469,879.84','L999,999.99') FROM EMPLOYEES

ORACLE SQL数据类型转换_第5张图片

你可能感兴趣的:(ORACLE SQL数据类型转换)