首页 > 代码库 > oracle(cast , to_char , to_date )用法

oracle(cast , to_char , to_date )用法

cast :

cast(要转换的值 AS 转换的类型)

FromTo BINARY_FLOAT, BINARY_DOUBLETo CHAR, VARCHAR2To NUMBERTo DATETIME, INTERVALTo NCHAR, NVARCHAR2

BINARY_FLOAT, BINARY_DOUBLE

yes

yes

yes

no

yes

CHAR, VARCHAR2

yes

yes

yes

yes

no

NUMBER

yes

yes

yes

no

yes

DATETIME, INTERVAL

no

yes

no

yes

yes

NCHAR, NVARCHAR2

yes

no

yes

no

yes

Example

CAST(‘123.4567‘ AS NUMBER(10,2)) returns the value 123.46.

通过上面的描述,我们就可以知道CAST可以将一种类型转换为另外一种类型。

比如,将字符串类型转换为NUMBER(10,2)类型,而不仅仅是限于使用用to_number、to_char()以及to_date()类型,上述表Table 3-1代表CAST是否能够用于该类型的相互转换。

例子调用:

ChenZw> SELECT CAST(‘123.4567‘ AS NUMBER(10,2))  AS NUM FROM DUAL;  输出123.46

 

to_char:    

转换成字符串类型
SELECT TO_CHAR(sysdate, ‘YYYY/MM/DD HH24:mi:ss‘) FROM DUAL

sysdate:要转换的值 ,后面的是转的类型(字符串类型的)  

 

函数返回描述例子
to_char(timestamp, text)text把 timestamp 转换成 stringto_char(timestamp ‘now‘,‘HH12:MI:SS‘)
to_char(int, text)text把 int4/int8 转换成 stringto_char(125, ‘999‘)
to_char(float, text)text把 float4/float8 转换成 stringto_char(125.8, ‘999D9‘)
to_char(numeric, text)text把 numeric 转换成 stringto_char(numeric ‘-125.8‘, ‘999D99S‘)
to_date(text, text)date把 string 转换成 dateto_date(‘05 Dec 2000‘, ‘DD Mon YYYY‘)
to_timestamp(text, text)date把 string 转换成 timestampto_timestamp(‘05 Dec 2000‘, ‘DD Mon YYYY‘)
to_number(text, text)numeric把 string 转换成 numericto_number(‘12,454.8-‘, ‘99G999D9S‘)

to_date:把值转换成日期类型的。

SELECT TO_DATE(‘2007-06-12 10:00:00‘, ‘YYYY/MM/DD HH24:mi:ss‘) FROM DUAL  --> 输出  2007/6/12 星期二 上午 10:00:00

 

oracle(cast , to_char , to_date )用法