友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

oracle从入门到精通(PDF格式)-第11章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



  返回 D1 和 D2 之间相差的天数。该值是一个数值,其小数部分代表一天的几分之几。  

  dt1…dt2      INTERVAL  

  返回 DT1 和DT2 之间的时间间隔。  

  i1…i2     INTERVAL  

  返回 i1 和 i2 之间的差距。  

  d1+d2    N/A  

  非法——仅能进行两个日期之间的相减。  

  dt1+dt2      N/A  

  非法——仅能进行两个日期之间的相减。  

  i1+i2     INTERVAL  

  返回 i1 和 i2 的和。  

  d1+n     DATE  

  在 D1 上加上N 天作为DATE 类型返回。N 可以是实数,它包含一天的几分之几。  

  d1…n     DATE  

  从 D1 上减去N 天作为DATE 类型返回。N 可以是实数,它包含一天的几分之几。  

  dt1+i1       DATETIME  

  返回 DT1 和I1 的和。  

  dt1…i1       DATETIME  

  返回 DT1 和I1 之间的差距。  

  i1*n      INTERVAL  

  返回 I1 的N次方。  

  i1/n      INTERVAL  

  返回 I1 除以N 的值。  

    

  表中注:  

  D1和 D2 指日期值;  

  DT1 和DT2 指日期时间值;  

  I1和 I2 指时间间隔值;  

  N 指数字值。  

    



                                  第 17 页,共 106 页 


…………………………………………………………Page 18……………………………………………………………

资源来自网络,仅供学习!                                                   Oracle 从入门到精通 



3。3、显示转换:(conversion)  



  TO_NUMBER(char';'format_model'')  字符转换到数字类型  

  TO_DATE(char';'format_model'')  字符转换到日期类型  

  格式说明符:要与前边要转换的字符串的格式要相同才能转换(匹配问题:格式和位数)。  

  TO_CHAR(date';'format_model'';nlsparams'')  

  第二个参数可以省略,不指定格式,按系统默认格式输出。  

  区分大小写。  

  使用 FM(在格式控制符前添加)符号可以去掉空格或是首位的零。  

  如果指定了 NLSPARAMS,则它控制返回字符串的月和日分量所使用的语言。格式为:  

       'NLS_DATA_LANGUAGE=language';language 指需要的语言。  

       例:select to_char(sysdate;'FMyyyy…mm…dd') from dual;  

         

   5。格式控制符的类型:  

                     YYYY 四位的年  

                     YEAR 年的拼写  

                     MM  2 位数字的月  

                     MONTH 月的全名  

                     MON 月名的前三个字符  

                     DY 星期名的前三个字符  

                     DAY 星期名的全称  

                     DD 2 位的天   

  6。时间格式控制符:  

                     HH24:MI:SS AM  

                     HH12:MI:SS PM  

         

  7。通过“”来实现加入特殊字符的格式控制符。  

  SELECT TO_CHAR(SYSDATE;'FMyyyy〃年〃mm〃月〃dd〃日〃') from dual;  

  DDSPTH  

  ~~  

  DD 是格式控制符。   

  TH 是序数词,将日期转换成英文的序数词拼写。  

  SP 是基数词,将日期转换成英文的基数词拼写。  

    

  TO_CHAR(NUM';'format_model'';nlsparams'')转换数字   

   将 NUMBER 类型参数 NUM转换成 VARCHAR2 类型。如果指定 FORMAT,它会控制整个转换。  

  如果没有指定 FORMAT,那么结果字符串中将包含和 NUM 中有效位的个数相同的字符。NLSPARAMS 

  用来指定小数点和千分符及货币符号。它的格式可为:'NLS_NUMERIC_CHARS=' ' dg '  

  'NLS_CURRENCY= ' 'string' ' ' 。 d 和g 分别代表小数点和千分符,STRING 代表货币符号。  

    

    

  数字格式控制符:  

            9   代表一位数字(替换符。有,数字显示;没有。不什么都显示。)   

            0   代表一位数字(有数字,显示;没有,强制显示 0。)                     

               美圆符号  

            L   本地货币  



                                第 18 页,共 106 页 


…………………………………………………………Page 19……………………………………………………………

资源来自网络,仅供学习!                                                     Oracle 从入门到精通 



             。   小数点  

             ;   千分符  

             B   当整数部分为 0 时,将整数部分填充为空格。  例:B999  

             MI  返回带有后继符号而不是前导负号的负数值,正数值将带有后继的空格。999MI  

             S   返回一个前导符号或后继符号,正数为+,负数为…。 S9999 或 9999S  

             PR  使用尖括号返回负数。正数将有前导或后继空格。999PR  

             D   在指定位置返回一个小数点。两侧的 9 的个数指定了最大的位数。99D9  

             G   在指定位置返回千分符,G 可以在 FORMAT_model 中出现多次。9G999G9  

             C   在指定位置返回 ISO货币符号。C可以在 FORMAT_model 中出现多次。C99  

             L   在指定位置上返回本地货币符号。 L99  

             V   返回一个被乘以 10 的N 次方的数值,这里 N 是V 后边9 的个数。99V99  

             EEEE  使用科学记数法返回该数值。9。99EEEE  

             RM   使用大写的罗马数字表示返回该数值。 RM  

             rm   使用小写的罗马数字表示返回该数值。 rm  

             FM   返回不含前导和后继空格的数值。 FM99。09  

  格式控制符位数一定要大于或等于 NUMBER 的位数,不能小于。  

    

    

  用 RR 解决跨世纪问题: 小于 50 的认为是 1950…2050  

                     大于 50 的认为是 1951…1999   

    

  数字和日期是不能相互转换的。  

    

  ASCIISTR(string)    

  返回只包含有效的 SQL字符和斜线的字符串。string 中的任何无效的字符将被转换为一个相当 

  的数字,在之前加上斜线。    

  BIN_TO_NUM(num';num'。。。)    

    将一位矢量转换位相当的数字。它的参数是一系列逗号隔开的 NUMS,每一个都必须是 0 或1。  

  例如 BIN_TO_NUM(1;0;1;1)将返回 11,因为 11 的二进制表示是 1011。当使用分组集合和 GROUP  

  BY 子句时该函数很有用。            

  CHARTOROWID(x)函数,  

    将字符串转换成一个 ROWID 类型的值,注意格式必须采用 ROWID 数据类型格式,即“数据块号: 

行序号:数据文件号”。   

  POSE(string)    

    以相同字符集中完全规格化 Unicode 形式返回string。string可以是CHAR、VARCHAR2、NCHAR、 

NVARCHAR2、CLOB或 NCLOB 类型。  

  DEPOSE(string)   

    返回一个 Unicode 字符串。它是 string 的规范分解。string 可以是 CHAR、VARCHAR2、 NCHAR、 

NVARCHAR2、CLOB或 NCLOB 类型。   

  FROM_TZ(timestamp;timezone)   

   返回一个 TIMESTAMP WITH TIMEZONE 类型值。它将 TIMESTAMP(没有时区信息)和提供的 TIMEZONE 

组合在一起。  

  HEXTORAW(string)  

   将由 STRING 表示的二进制数值转换为一个 RAW数值。STRING 应该包含十六进制值。STRING 中 

  的每两个字符表示结果 RAW 中的一个字节。HEXTORAW 和RAWTOHEX 互为反函数。   

  NUMTODSINTERVAL(x;unit)   



                                第 19 页,共 106 页 


…………………………………………………………Page 20……………………………………………………………

资源来自网络,仅供学习!                                                       Oracle �
返回目录 上一页 下一页 回到顶部 赞(1) 踩(1)
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!