to_char 详解

2023-03-15,

对TO_CHAR的讨论可以分为从两种类型的数据到字符的转换:DATE和NUMBER。

TO_CHAR函数返回VARCHAR2数据类型的值。

1. NUMBER TO CHAR

语法: TO_CHAR(num,[format])

例:

SQL> select to_char(001)||'is a special number' from dual;

TO_CHAR(001)||'ISASP
--------------------
1is a special number

SQL> select to_char(0001,'09999999') from dual;

TO_CHAR(0
---------
 00000001

数字格式掩码

格式元素

元素说明

格式

数字

字符结果

9

数字宽度

9999

12

12

0

显示前面的0

0999

12

0012

.

小数点的位置

099.99

02.4

002.40

D

小数分割点的位置

099D99

09.9

009.90

逗号的位置

099,999

09080

009,080

G

组分隔符的位置

099G999

09080

009,080

$

美元符号

$099

9

$009

L

当地货币

L099

9

GBP009

(如果nls_currency设置为GBP)

MI

表示复数的减号的位置

9999MI

-9876

9876-

PR

包围在括号内的负数

999PR

-98

<98>

EEEE

科学计数法

99.99EEEE

121.976

U

nls_dual_currency

U00999

3040

CAD03040

(如果nls_dual_currency设置为CAD)

V

乘以10n次(n是V之后9的数量)

99999V99

3040

304000

S

前面加上+或者-

S999999

3040

+3040

SQL> select to_char(87,'999PR') from dual;

TO_CH
-----
  87

SQL> select to_char(-87,'999PR') from dual;

TO_CH
-----
 <87>

SQL> SELECT TO_CHAR(121.976,'99.99EEEE') FROM DUAL;

TO_CHAR(12
----------
  1.22E+02

SQL> ALTER SESSION SET NLS_DUAL_CURRENCY = 'CAD';

Session altered.

SQL> SELECT TO_CHAR(3040,'U00999') FROM DUAL;

TO_CHAR(3040,'U0
----------------
        CAD03040

SQL> SELECT TO_CHAR(3040,'99999V99') FROM DUAL;

TO_CHAR(
--------
  304000

SQL> SELECT TO_CHAR(-3040,'99999S') FROM DUAL;

TO_CHA
------
 3040-

to_char 详解的相关教程结束。

《to_char 详解.doc》

下载本文的Word格式文档,以方便收藏与打印。