一、转换函数用户操作多数据类型,在数据类型之间进行转换。
1、CHARTORWID(c)
c是一个字符串,函数将c转换为RWID数据类型。
2、CONVERT(c, dset, sset)
c为字符串,dset、sset是两个字符集,函数将字符串c由sset字符集转换为dset字符集,sset的默认设置为数据库的字符集。
3、HEXTORAW(x)
x为十六进制的字符串,函数将十六进制的x转换为RAW数据类型。
4、RAWTOHEX(x)
x是RAW数据类型字符串,函数将RAW数据类型转换为十六进制的数据类型。
5、ROWIDTOCHAR()
函数将ROWID数据类型转换为CHAR数据类型。
6、TO_CHAR(x, fmt)
x是一个date或number数据类型,函数将x转换成fmt指定格式的CHAR数据类型,如果x为日期nlsparm=NLS_DATE_LANGUAGE 控制返回的月份和日期所使用的语言。如果x为数字nlsparm=NLS_NUMBERIC_CHARACTERS 用类指定小数位和千分位的分隔符,以及货币符,参考详见 。
7、TO_DATE(c, fmt)
c是字符串,fmt表示一个特殊格式的字符串,返回按照fmt指定的格式的c,参考详见 。
8、TO_MULTI_BYTE(c)
c表示字符串,函数将c的单字节字符转换成多字节字符。
9、TO_NUMBER(c, fmt)
c表示字符串,fmt表示一个特殊格式的字符串,函数返回值按照fmt指定的格式显示。
10、TO_SINGLE_BYTE()
将字符串c的多字节转换成等价的单字节字符。该函数仅当数据库字符集同时包含单字节和多字节时才使用。
11. UTL_RAW.CAST_TO_RAW
该函数按照缺省字符集(一般为GB2312),将VARCHAR2字符串转换为RAW。
12. UTL_RAW.CAST_TO_VARCHAR2
该函数按照缺省字符集合(一般为GB2312),将RAW转换为VARCHAR2。
常用之日期格式 | |
12 | |
13 | 日期格式 說明 |
14 | ------------------------------------------------------------------------ |
15 | YYYY/MM/DD -- 年/月/日 |
16 | YYYY -- 年(4位) |
17 | YYY -- 年(3位) |
18 | YY -- 年(2位) |
19 | MM -- 月份 |
20 | DD -- 日期 |
21 | D -- 星期 |
22 | -- 星期日 = 1 星期一 = 2 星期二 = 3 |
23 | -- 星期三 = 4 星期四 = 5 星期五 = 6 星期六 = 7 |
24 | |
25 | DDD -- 一年之第幾天 |
26 | WW -- 一年之第幾週 |
27 | W -- 一月之第幾週 |
28 | YYYY/MM/DD HH24:MI:SS -- 年/月/日 時(24小時制):分:秒 |
29 | YYYY/MM/DD HH:MI:SS -- 年/月/日 時(非24小時制):分:秒 |
30 | J -- Julian day,Bc 4712/01/01 為1 |
31 | RR/MM/DD -- 公元2000問題 |
32 | -- 00-49 = 下世紀;50-99 = 本世紀 |
33 | ex. |
34 | select to_char(sysdate, 'YYYY/MM/DD' ) FROM DUAL; -- 2007/09/20 |
35 | select to_char(sysdate, 'YYYY' ) FROM DUAL; -- 2007 |
36 | select to_char(sysdate, 'YYY' ) FROM DUAL; -- 007 |
37 | select to_char(sysdate, 'YY' ) FROM DUAL; -- 07 |
38 | select to_char(sysdate, 'MM' ) FROM DUAL; -- 09 |
39 | select to_char(sysdate, 'DD' ) FROM DUAL; -- 20 |
40 | select to_char(sysdate, 'D' ) FROM DUAL; -- 5 |
41 | select to_char(sysdate, 'DDD' ) FROM DUAL; -- 263 |
42 | select to_char(sysdate, 'WW' ) FROM DUAL; -- 38 |
43 | select to_char(sysdate, 'W' ) FROM DUAL; -- 3 |
44 | select to_char(sysdate, 'YYYY/MM/DD HH24:MI:SS' ) FROM DUAL; -- 2007/09/20 15:24:13 |
45 | select to_char(sysdate, 'YYYY/MM/DD HH:MI:SS' ) FROM DUAL; -- 2007/09/20 03:25:23 |
46 | select to_char(sysdate, 'J' ) FROM DUAL; -- 2454364 |
47 | select to_char(sysdate, 'RR/MM/DD' ) FROM DUAL; -- 07/09/20 |