35.Oracle数据库SQL开发之 使用简单函数——使用单行函数转换函数
欢迎转载,转载请标明出处:blog.csdn.net/notbaron/ar…\
有时需要将一个值从给一种数据类型转换为另一种数据类型。
1. TO_CHAR()
TO_CHAR(X,[,format])函数用于将x转换为一个字符串,也可以指定一个可选的参数format来说明x的格式。FORMAT取决于X是数字还是日期。
例如使用TO_CHAR函数将数字转换为字符串:
store@PDB1> select to_char(12345.67) from dual;
TO_CHAR(
--------
12345.67
store@PDB1> select to_char(12345.67,'99,999.99')from dual;
TO_CHAR(12
----------
12,345.67
如果要处理的数包含的数字个数多于格式中指定的数字个数。那么进行格式转换时,会出现#组成的字符串。
2. TO_NUMBER()
TO_NUMBER(X,[FORMAT])函数用于将X转换位一个数字。可以指定可选参数format字符串来说明X的格式。
例如:
store@PDB1> select to_number('970.13') from dual;
TO_NUMBER('970.13')
-------------------
970.13
store@PDB1> select to_number('970.13') + 25.5 fromdual;
TO_NUMBER('970.13')+25.5
------------------------
995.63
store@PDB1> select to_number('-$12,345.67','$99,999.99')from dual;
TO_NUMBER('-$12,345.67','$99,999.99')
-------------------------------------
-12345.67
3. CAST()
CAST(x AS type)用来将x转换为由type指定的兼容数据库类型。
例如:
store@PDB1> select cast(12345.67 asvarchar2(10)),cast('9A4F' as raw(2)),cast('05-JUL-07
2 ' as DATE), cast(12345.678 as number(10,2))from dual;
CAST(12345 CAST CAST('05-CAST(12345.678ASNUMBER(10,2))
---------- ---- --------------------------------------
12345.67 9A4F 05-JUL-07 12345.68
例如:
store@PDB1> select cast(price asvarchar2(10)),cast(price+2 as number(7,2)),cast(price as binary_double)
2 from products where product_id=1;
CAST(PRICE CAST(PRICE+2ASNUMBER(7,2))CAST(PRICEASBINARY_DOUBLE)
---------- ----------------------------------------------------
19.95 21.95 1.995E+001
也可以用CAST()转换日期、时间和时间间隔。