上一篇讲到了类型转换函数。不过那么多的类型转换函数中,常用的也就是TO_CHAR,TO_NUMBER,TO_DATE这几个。下面对这几个进行详细的介绍。

使用TO_CHAR将日期型转换为字符串

默认情况下,日期格式都是以DD-MON-YY来显示的,为了使其他的 显示格式显示日期值,可以使用TO_CHAR将日期从默认格式转换为指定的格式。例如:

SELECT TO_CHAR (SYSDATE, 'YYYY-MM-DD HH24:MI:SS AM')

FROM DUAL1

2

可以看到,要显示为特定的日期格式,必须要指定特定的日期格式字符串,可以使用的格式字符串如下:

日期格式元素

描述

SCC或CC

世纪,带-服务器前缀B.C.日期

日期中的年YYYY或SYYYY

年,带-服务器前缀B.C.日期

YYY或YY或Y

年的最后3、2或1个数字

Y,YYY

年,在这个位置带逗号

IYYY,IYY,IY,I

基于ISO标准的4、3、2或1位数字年

SYEAR或YEAR

拼写年,带-服务器前缀B.C.日期

BC或AD

B.C.A.D指示器

B.C.或A.D.

带周期的B.C./A.D指示器

Q

四分之一年,即季度

MM

月,2位数字值

MONTH

9位字符长度的带空格填充的月的名字

MON

3字母缩写的月的名字

RM

罗马数字月

WW或W

年或月的周

DDD或DD或D

年、月或周的天

DAY

9位字符长度的带空格填充的天的名字

DY

3字母缩写的天的名字

HH、HH12或HH24

天的小时,或小时(1~12),或小时(0~23)

AM或PM和A.M.或P.M.

午后指示符,可带句点也可以不带句点

间隔符

在结果字符串中所产生的所有必须的停顿间隔符

SS

秒(0~59)

SSSSS

午夜之后的秒(0~86399)

“of the”

在结果中使用引文串

/.,

在结果中使用标点符号

TH

序数(例如,DDTH显示为4TH)

SP

拼写出数字(例如,DDSP显示为FOUR)

SPTH或THSP

拼写出序数(例如:DDSPTH显示为FOURTH)

常用示例如下:

SELECT TO_CHAR (SYSDATE, 'ddspth') FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'HH24:MI:SS AM') FROM DUAL;

SELECT TO_CHAR (SYSDATE, 'DD "of" MONTH') FROM DUAL;

SELECT TO_CHAR(SYSDATE,'A.D.YYYY"年"-MONTH-DD"日"-DAY') FROM DUAL;

SELECT TO_CHAR(SYSDATE,'W') FROM DUAL;1

2

3

4

5

通过灵活地组织这些格式字符串,可以创建出很多想要的日期格式。

使用TO_CHAR将数字型转换为字符串

如,将一个数字转换成带货币符号的字符串:

SELECT TO_CHAR(123.45678,'$99999.999') FROM DUAL;1

TO_CHAR在将数字转换为字符串时,可以使用格式字符串指定转换时使用的格式,常见的格式符元素如下:

数字格式元素

描述

示例

结果

9

每个9表示一个有效位,转换值的有效位和9的各位相同,如果要转换的是负数,则应有前导的负号,前导如为0,则视为空格

999999

1234

0

显示前导的0或后继的0

099999

001234

$

返回带有前导货币符号的数值

$999999

$1234

L

在指定的位置上返回本地货币符号

L99999

¥1234

.

在指定的位置上返回一个小数点,不管指定的小数点分隔符

999999.99

1234.00

,

在指定的位置上返回一个逗号,不管指定的千分位分隔符

999,999

1,234

MI

该值如为负数,则加后继负号,如非负数则加一个后继占位符

999999MI

1234-

PR

如为负值,用尖括号括起,如为正值,则前导后继各加一个空格

999999PR

<1234>

EEEE

科学计数法(格式化必须指定四个E)

99.999EEEE

1.234E+03

V

返回与10的n次方相乘的值,n是v后面9的个数

9999V99

123400

B

当整数为0时,将该小数的整数部分填充为空格

B9999.99

1234.00

D

返回小数点的位置,两边的9指定了最大位数

9999D

1234.

G

返回千分位分隔符,G可以出现多次

(99G99)

12,34

C

在指定的位置上返回ISO货币号

C9999

CNY1234

TO_CHAR中的nlsparams参数影响到最终结果的显示,一般有下面几种形式:

- NLS_NUMERIC_CHARACTERS:可简写为NLS_NUMERIC_CHARS,表示为指定分组分隔符或小数点使用的字符。

- NLS_CURRENCY:指定Oracle默认的货币。

- NLS_ISO_CURRENCY:指定ISO货币符号的字符。

使用示例如下:

SELECT TO_CHAR (123456789, 'L999G999G999D99', 'NLS_CURRENCY=%')

FROM DUAL;-- 结果为:%123,456,789.001

2

使用TO_DATE将字符换转换为日期

使用如:

SELECT TO_DATE ('2010/09/13', 'YYYY-MM-DD', 'NLS_DATE_LANGUAGE=english')

FROM DUAL;

SELECT TO_DATE ('20100913', 'YYYY-MM-DD')

FROM DUAL;1

2

3

4

5

使用TO_NUMBER将字符串转换为数字

使用如:

SELECT TO_NUMBER('01') FROM DUAL;

SELECT TO_NUMBER('$1234.5678','$9999.9999') FROM DUAL;

SELECT TO_NUMBER('$123,456,789.00','$999G999G999D99') FROM DUAL;1

2

3

4

5

oracle yyddd格式转换,Oracle PL/SQL开发基础(第二十二弹:类型转换函数)相关推荐

  1. Oracle PL/SQL开发基础(第十七弹:集合类型)

    集合是PL/SQL提供的用来同时处理多个数据的一种数据结构.如果说记录是一个单行多列的数据结构,那么集合就是一种单列多行的数据结构. 集合简介 集合类似于高级语言中的列表或一维数组,主要用来存储具有相 ...

  2. Oracle PL/SQL开发基础(第三十弹:预定义异常)

    无论是预定义错误还是自定义错误,Oracle在内部都会隐含地触发一个错误,每个错误都有一个序号,SQLCODE就是异常的编码,SQLERRM用来获取异常的信息.但是在PL/SQL进行异常处理时,不能直 ...

  3. Oracle PL/SQL开发基础(第十六弹:记录类型)

    记录类型有些类似于C语言的结构或者,使用记录可以一次性处理多个类型的值. 记录类型简介 记录类型给了程序员自定义程序结构的能力,这种程序结构是指变量类型的集合,这些变量被组织在一起同一进行管理,是的记 ...

  4. oracle 经纬度格式转换,oracle操作之经纬度转换

    一.度分秒转点度 select t.lon,substr(t.lon,0,instr(t.lon,'°')-1) , substr(t.lon,instr(t.lon,'°')+1,instr(t.l ...

  5. Python自动化运维开发----基础(十二)函数

    1.函数的定义 函数是对代码块起了一个名字,在需要执行代码块的时候,直接调用函数 >>> def test(): ... print(test) ... >>> t ...

  6. Oracle数据库之PL/SQL程序基础设计

    一.PL/SQL块结构 前边我们已经介绍了PL/SQL块的结构,再来回顾一下: DECLARE /** 声明部分--定义常量.变量.复杂数据类型.游标.用户自定义异常*/ BEGIN /** 执行部分 ...

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

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

  8. Oracle日期格式转换 to_date,to_char,to_timetamp 相互转换

    Oracle日期格式转换 to_date,to_char,to_timetamp 相互转换 一.概述 1.本文主要记录Oracle数据库中,常见的日期格式转换.使用 to_char函数,将日期转换为字 ...

  9. oracle新增时间格式转换,oracle时间格式转换_oracle时间类型转换

    间-mysql 时间转换字符串|oracle时间格式转换| 428x593 - 59KB - JPEG oracle中to_date详细用法示例(oracle日期格式转 616x795 - 86KB ...

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

    [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日之功) 继上四篇:ORACLE PL/SQL编程之八:把触发器说透                ORAC ...

最新文章

  1. 由parseInt 引发的问题---想到浮点运算精度丢失---看透js number 的 encoded
  2. gcc 复杂结构体 初始化_gcc编译选项
  3. 车辆动力学及控制_道路自适应车辆动力学控制研究(127页)【附下载】
  4. php arraymap()函数
  5. uni-app开发微信小程序之获取当前地址
  6. 元素上下左右居中的几种方法
  7. React开发(106):getFieldDecorator不能包裹太多div
  8. java移动接口发短信_Java面试零碎知识点
  9. 刘汝佳算法竞赛入门经典 第二单元习题答案自编
  10. 功能测试——测试流程1
  11. [转]mysql delete 使用别名 语法
  12. axure rp 8.1.0.3379 密钥license,Axure8.1中文破解版 8.1.0.3379 含授权码
  13. 实践项目:图书馆管理系统
  14. Win 10 x64 Visual Studio 2019 编译 Detours 4.0.1
  15. gavin中文是什么意思_Gavin[加文,盖温]的中文翻译及英文名意思
  16. 一种测试方法论RST(非广告)
  17. CH6202 黑暗城堡 最短路径生成树
  18. 内核层读写应用层文件,使用filp_open函数。
  19. Lintcode:报数
  20. Java基础之网络编程

热门文章

  1. Unable to start embedded Tomcat 解决方式(已解决)
  2. 如何通过域名访问web项目
  3. 使用canvas绘制一个三角形
  4. 第二集 第一魂环 第十五章
  5. 上海市犬伤处置门诊目录(上海哪些医院可以打狂犬疫苗)
  6. 钉钉机器人V1使用说明
  7. 华为HCNA实验学习
  8. 猫哥教你写爬虫 043--模拟浏览器
  9. 三种方式实现echarts树图的背景图片设置
  10. 域名服务商自曝行业内幕:用户面临层层陷阱