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 转换成 string to_char(timestamp 'now','HH12:MI:SS')
to_char(int, text) text 把 int4/int8 转换成 string to_char(125, '999')
to_char(float, text) text 把 float4/float8 转换成 string to_char(125.8, '999D9')
to_char(numeric, text) text 把 numeric 转换成 string to_char(numeric '-125.8', '999D99S')
to_date(text, text) date 把 string 转换成 date to_date('05 Dec 2000', 'DD Mon YYYY')
to_timestamp(text, text) date 把 string 转换成 timestamp to_timestamp('05 Dec 2000', 'DD Mon YYYY')
to_number(text, text) numeric 把 string 转换成 numeric to_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

原文地址:https://www.cnblogs.com/kangyu222/p/5847067.html