ORACLE 转换函数TO_CHAR、TO_DATE、TO_NUMBER

 时间:2026-02-12 23:04:13

1、1.TO_NUMBER

语法:to_number(expr [ , fmt [ , 'nlsparam'] ] )

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

实例:SELECT TO_NUMBER('100.00', '9G999D99') FROM DUAL;

ORACLE 转换函数TO_CHAR、TO_DATE、TO_NUMBER

2、2.TO_CHAR

(1)TO_CHAR (character)

语法:to_char (c)

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

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

ORACLE 转换函数TO_CHAR、TO_DATE、TO_NUMBER

3、(2)TO_CHAR (datetime)

语法:to_char (date [ , fmt [ , 'nlsparam'] ])

解释:将 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类型的值则会转换成默认的timestamp with time zone 格式。

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

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

ORACLE 转换函数TO_CHAR、TO_DATE、TO_NUMBER

4、(3)TO_CHAR (number)

语法:to_char (n [ , fmt [ , 'nlsparam'] ] )

解释:将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;

ORACLE 转换函数TO_CHAR、TO_DATE、TO_NUMBER

ORACLE 转换函数TO_CHAR、TO_DATE、TO_NUMBER

5、3.TO_DATE

语法:to_char  (char [ , fmt [ , 'nlsparam'] ] )

解释:将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 转换函数TO_CHAR、TO_DATE、TO_NUMBER

ORACLE 转换函数TO_CHAR、TO_DATE、TO_NUMBER

ORACLE 转换函数TO_CHAR、TO_DATE、TO_NUMBER

  • Oracle 11g 如何使用exp命令导出空表
  • PL/SQL Developer如何显示行号
  • PL/SQL Developer更改TNS文件
  • 如何使用DBeaver生成数据库表的UPDATE语句
  • 在VBA中,【CDate】的实例应用!
  • 热门搜索
    梦幻西游手游怎么赚钱 地贫筛查结果怎么看 董洁为什么离婚 养五笔怎么打 ipad忘记密码怎么办 ong怎么读 营业执照怎么年审 为什么你要走 咸肉菜饭的做法 你会怎么做