六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 386|回复: 0

数据库基本函数——转换函数(Oracle)

[复制链接]

升级  22%

3

主题

3

主题

3

主题

童生

Rank: 1

积分
11
 楼主| 发表于 2013-1-29 15:26:22 | 显示全部楼层 |阅读模式
一、转换函数用户操作多数据类型,在数据类型之间进行转换。
 
    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------------------------------------------------------------------------ 
15YYYY/MM/DD        -- 年/月/日  
16YYYY                      -- 年(4位) 
17YYY                        -- 年(3位) 
18YY                          -- 年(2位) 
19MM                         -- 月份 
20DD                         -- 日期 
21D                            -- 星期 
22                               -- 星期日 = 1  星期一 = 2 星期二 = 3 
23                               -- 星期三 = 4  星期四 = 5 星期五 = 6 星期六 = 7 
24                             
25DDD                   -- 一年之第幾天 
26WW                    -- 一年之第幾週 
27W                        -- 一月之第幾週 
28YYYY/MM/DD HH24:MI:SS   -- 年/月/日 時(24小時制):分:秒 
29YYYY/MM/DD HH:MI:SS       -- 年/月/日 時(非24小時制):分:秒 
30J                                               -- Julian day,Bc 4712/01/01 為1 
31RR/MM/DD                             -- 公元2000問題  
32                   -- 00-49 = 下世紀;50-99 = 本世紀 
33ex. 
34select to_char(sysdate,'YYYY/MM/DD') FROM DUAL;           -- 2007/09/20 
35select to_char(sysdate,'YYYY') FROM DUAL;                         -- 2007 
36select to_char(sysdate,'YYY') FROM DUAL;                           -- 007 
37select to_char(sysdate,'YY') FROM DUAL;                             -- 07 
38select to_char(sysdate,'MM') FROM DUAL;                           -- 09 
39select to_char(sysdate,'DD') FROM DUAL;                            -- 20 
40select to_char(sysdate,'D') FROM DUAL;                              -- 5 
41select to_char(sysdate,'DDD') FROM DUAL;                        -- 263 
42select to_char(sysdate,'WW') FROM DUAL;                         -- 38 
43select to_char(sysdate,'W') FROM DUAL;                            -- 3 
44select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') FROM DUAL;  -- 2007/09/20 15:24:13 
45select to_char(sysdate,'YYYY/MM/DD HH:MI:SS') FROM DUAL;    -- 2007/09/20 03:25:23 
46select to_char(sysdate,'J') FROM DUAL;                                  -- 2454364 
47select to_char(sysdate,'RR/MM/DD') FROM DUAL;               -- 07/09/20 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表