1. 前言
Oracle数据库中的转换函数是经常使用的函数之一,它可以将一种数据类型转换成另一种数据类型,例如将文本字符串转换成数字或日期格式。本文将介绍一些常用的Oracle转换函数。
2. TO_CHAR函数
2.1 将数值型转为字符型
TO_CHAR函数可以将数值型数据转换成字符型数据,可以指定转换后的格式。
SELECT TO_CHAR(12345.6789, '99999.99') FROM dual;
-- 结果为12345.68
该语句将12345.6789转换成了99999.99格式的字符串。
2.2 将日期型转为字符型
TO_CHAR函数还可以将日期型数据转换成字符型数据,同样可以指定转换后的格式。
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH:MI:SS') FROM dual;
-- 结果为2021-12-01 15:30:21
该语句将系统当前时间转换成了YYYY-MM-DD HH:MI:SS格式的字符串。
3. TO_NUMBER函数
3.1 将字符型转为数值型
TO_NUMBER函数可以将字符型数据转换成数值型数据。
SELECT TO_NUMBER('12345.6789', '99999.9999') FROM dual;
-- 结果为12345.6789
该语句将'12345.6789'转换成了数值型数据12345.6789。
4. TO_DATE函数
4.1 将字符型转为日期型
TO_DATE函数可以将字符型数据转换成日期型数据,同样需要指定转换后的格式。
SELECT TO_DATE('2021-12-01 15:30:21', 'YYYY-MM-DD HH24:MI:SS') FROM dual;
-- 结果为2021-12-01 15:30:21
该语句将'2021-12-01 15:30:21'转换成了日期型数据。
5. CAST函数
5.1 类型转换
CAST函数可以将一个数据类型转换成另一个数据类型,它的语法如下:
CAST(expression AS datatype);
其中,expression是需要转换的表达式,datatype是需要转换成的数据类型。
SELECT CAST('12345.6789' AS NUMBER(10,2)) FROM dual;
-- 结果为12345.68
该语句将'12345.6789'转换成了NUMBER(10,2)类型的数据,即保留2位小数的数值数据。
6. NVL函数
6.1 空值转换
NVL函数可以将空值转换成一个指定的值。
SELECT NVL(NULL, 'EMPTY') FROM dual;
-- 结果为EMPTY
该语句将空值转换成了'EMPTY'。
7. 总结
本文介绍了一些常用的Oracle转换函数,包括TO_CHAR、TO_NUMBER、TO_DATE、CAST和NVL函数。它们可以帮助我们实现数据类型之间的转换和空值的处理,提高了数据的灵活性和可用性。