广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    ORACLE 转换函数TO_CHAR、TO_DATE、TO_NUMBER

    来源:网络收集  点击:  时间:2024-04-26
    【导读】:
    转换函数(Conversion Functions)就是将指定字符从一种数据类型转换到另一种,通常这类函数遵循如下惯例:函数名称后面跟着待转换类型以及输出类型。Oracle数据类型转换分为显式数据类型转换和隐式类型转换。在通常情况下,隐式数据类型转换是可用的,但建议你做显示数据类型转换以确保SQL的可靠性。Oracle中有大概39种显式转换函数,其中常用的有TO_CHAR、TO_DATE和TO_NUMBER,本文主要介绍这几种。工具/原料moreORACLE 11g R2PL/SQL Developer方法/步骤1/5分步阅读

    1.TO_NUMBER

    语法:to_number(expr ] )

    解释:将 expr 转换成一个由 fmt 指定格式的 number 类型的值。expr 的数据类型则可以是BINARY_DOUBLE 或 CHAR, VARCHAR2, NCHAR, NVARCHAR2 。此函数不直接支持CLOB数据。

    实例:SELECTTO_NUMBER(100.00, 9G999D99)FROM DUAL;

    2/5

    2.TO_CHAR

    (1)TO_CHAR (character)

    语法:to_char (c)

    解释:将NCHAR, NVARCHAR2, CLOB 或 NCLOB 类型转换成 CHAR 类型,总是返回 VARCHAR2 类型。

    实例:SELECT TO_CHAR(0000aabbcc0000) FROM DUAL;

    3/5

    (2)TO_CHAR (datetime)

    语法:to_char (date ])

    解释:将DATE, TIMESTAMP,TIMESTAMP WITH TIME ZONE, 或 TIMESTAMP WITH LOCAL TIME ZONE类型按照指定格式 fmt 转换成 VARCHAR2 类型,若fmt缺省,则处理规则为:DATE 类型的值则会转换成默认的date格式,TIMESTAMP 和TIMESTAMP WITH LOCAL TIME ZONE 类型会转换成默认的timestamp格式,TIMESTAMP WITH TIME ZONE类型的值则会转换成默认的timestampwith time zone格式。

    nlsparam 参数定义了返回值使用的语言,内容可以类似如下:NLS_DATE_LANGUAGE = language。若缺省则使用当前会话的默认语言显示。

    实例:SELECT TO_CHAR(sysdate,yyyy-mm-dd hh24:mi:ss) FROM DUAL;

    4/5

    (3)TO_CHAR (number)

    语法:to_char(n ] )

    解释:将NUMBER, BINARY_FLOAT, or BINARY_DOUBLE类型数值 n 按照指定格式 fmt 转换成 VARCHAR2 类型。若n为负值,则负号显示在输出值最左侧,比如TO_CHAR(-1,’$9’) 返回 -$1, 而不是 $-1.

    nlsparam 参数定义了小数点字符、组分隔符、当地货币符号和国际货币符号,格式可以如下:

    NLS_NUMERIC_CHARACTERS =dg

    NLS_CURRENCY =text

    NLS_ISO_CURRENCY =territory

    其中 d 和 g 分别表示小数点字符和组分隔符,两者必须不同,且只能是单字节字符

    实例1:SELECT TO_CHAR(01110 + 1) FROM dual;

    实例2:SELECT TO_CHAR(-10000,L99G999D99MI,

    NLS_NUMERIC_CHARACTERS = ,.NLS_CURRENCY = AusDollars ) Amount

    FROM DUAL;

    5/5

    3.TO_DATE

    语法:to_char(char ] )

    解释:将CHAR, VARCHAR2, NCHAR 或 NVARCHAR2 类型转换成 DATE 类型。如果fmt参数不为空,则按照fmt中指定格式进行转换。注意这里的fmt参数。如果ftm为J则表示按照公元制(Julian day)转换,c则必须为大于0并小于5373484的正整数。因为Oracle的DATE类型的取值范围是公元前4712年1月1日至公元9999年12月31日。

    nlsparam 参数定义了返回值使用的语言,内容可以类似如下:NLS_DATE_LANGUAGE = language。若缺省则使用当前会话的默认语言显示。

    实例1:SELECT TO_DATE(2454336, J) FROM DUAL;

    实例2:SELECT TO_DATE(2007-8-23 23:25:00, yyyy-mm-dd hh24:mi:ss) FROM DUAL;

    实例3:SELECT TO_CHAR(TO_DATE(9999-12-31,yyyy-mm-dd),j) FROM DUAL;

    Oracle
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_599619.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 09:05:12  耗时:0.029
    0.0295s