您的位置:首页 > 数据库 > Oracle

35.Oracle数据库SQL开发之 使用简单函数——使用单行函数转换函数

2015-11-08 22:38 495 查看
35.Oracle数据库SQL开发之 使用简单函数——使用单行函数转换函数
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/49722991

有时需要将一个值从给一种数据类型转换为另一种数据类型。

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()转换日期、时间和时间间隔。

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: