对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 详解的更多相关文章

  1. Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt

    PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...

  2. oracle 数据类型详解---日期型(转载)

    oracle 数据类型详解---日期型 oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享: 注:由于INTER ...

  3. ORACLE PL/SQL编程详解

    ORACLE PL/SQL编程详解 编程详解 SQL语言只是访问.操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发.PL /SQL是一种高级数据库程序设 ...

  4. oracle checkpoint 详解

    Oracle checkpoint详解 topcheckpoint扫盲 top什么是checkpoint 在数据库系统中,写日志和写数据文件是数据库中IO消耗最大的两种操作,在这两种操作中写数据文件属 ...

  5. oracle中的dual表详解

    oracle中的dual表详解 1.DUAL表的用途 Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中 --查看当前连接用户 SQL> s ...

  6. [推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆)

    原文:[推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆) [推荐]ORACLE PL/SQL编程详解之三: PL/SQL流程控制语句(不给规则,不成方圆) ...

  7. [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)

    原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日 ...

  8. 懵懂oracle之存储过程3--JOB详解

    在前面学习了存储过程的开发.调试之后,我们现在就需要来使用存储过程了.简单的使用,像上篇<懵懂oracle之存储过程2>中提到的存储过程调用,我们可以将写好的存储过程在另一个PL/SQL块 ...

  9. 详解EBS接口开发之库存事务处理采购接收--补充

    除了可以用  详解EBS接口开发之库存事务处理采购接收的方法还可以用一下方法,不同之处在于带有批次和序列控制的时候实现方式不同 The script will load records into ...

随机推荐

  1. EF学习笔记——通用增删改查方案

    http://blog.csdn.net/leftfist/article/details/25005307 我刚接触EF未久,还不知道它有什么强大之处,但看上去,EF提供了一般的增删改查功能.以往用 ...

  2. 20160113 JS中CheckBox如何控制全选

    //判断CheckBoxzong他的点击事件 $("#CheckBoxzong").click(function () { //取出所有class为选中的集合 var query ...

  3. mysql命令行工具

    mysql包相关命令行工具 [root@manage ~]# rpm -qa|grep mysql mysql-server-5.1.73-5.el6_7.1.x86_64 mysql-5.1.73- ...

  4. java消息推送与接收

    package com.zl; import java.net.ServerSocket; import java.net.Socket; import org.apache.commons.mvc. ...

  5. IOS开发-封装数据库sqlite3之为何选择FMDB

    为什么使用第三方轻量级框架FMDB? FMDB是用于进行数据存储的第三方的框架,它与SQLite与Core Data相比较,存在很多优势. FMDB是面向对象的,它以OC的方式封装了SQLite的C语 ...

  6. 【xargs使用】查询包含某字符串的所有文件

    在initrd目录下,查找包含"Loading virtio.ko"的所有文件 cd initrd find . | xargs grep "Loading virtio ...

  7. 如何测试手机上的SOAP客户端

    周四晚上,服务端和客户端的两个同事因为soap接口的问题争论了起来.服务端的同事认为客户端的同事发给服务端的soap消息的xml结构有问题,少了几个xml节点,导致服务器端解析出错.而客户端的同事认为 ...

  8. 【uTenux实验】集合点端口

    这个是头一次接触的概念.比较不好理解.内核规范中的说明就要20页! 看了王总写的uTenux内核规范之后,有那么一点明白了但理解不深. 集合点端口就像每次工作前的收集情况会.首长下达收集情况指令,各个 ...

  9. Angular学习

    一.Angular是什么 基于JS的框架,类似JQuery,利用数据绑定和依赖注入实现页面数据的渲染,无需人为写大量的JS,减少了代码量,优美了代码. 二.Angular优缺点 Angular适用与C ...

  10. Chap5:32– 34

    32. 从 1 到 n 整数中 k (0,1, 2, 3, 4, 5, 6, 7, 8, 9)出现的次数.  时间 O(log10N) A. 当 K != 0 时: 以 n = 2014,K = 1 ...