oracle转换函数有哪些

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函数。它们可以帮助我们实现数据类型之间的转换和空值的处理,提高了数据的灵活性和可用性。

数据库标签