当前位置:  数据库>oracle

Oracle to_char格式化函数

    来源: 互联网  发布时间:2017-05-01

    本文导语: Postgres格式化函数提供一套有效的工具用于把各种数据类型(日期/时间,int,float,numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成原始的数据类型。 注意:所有格式化函数的第二个参数是用于转换的模板。 ...

Postgres格式化函数提供一套有效的工具用于把各种数据类型(日期/时间,int,float,numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成原始的数据类型。

注意:所有格式化函数的第二个参数是用于转换的模板。

表1. 格式化函数  

函数

返回

描述

例子

to_char(timestamp, text)

text

把 timestamp 转换成 string

to_char(timestamp 'now','HH12:MI:SS')

to_char(int, text)

text

把 int4/int8 转换成 string

to_char(125, '999')

to_char(float, text)

text

把 float4/float8 转换成 string

to_char(125.8, '999D9')

to_char(numeric, text)

text

把 numeric 转换成 string

to_char(numeric '-125.8', '999D99S')

to_date(text, text)

date

把 string 转换成 date

to_date('05 Dec 2000', 'DD Mon YYYY')

to_timestamp(text, text)

date

把 string 转换成 timestamp

to_timestamp('05 Dec 2000', 'DD Mon YYYY')

to_number(text, text)

numeric

把 string 转换成 numeric

to_number('12,454.8-', '99G999D9S')

 

表 2. 用于 date/time 转换的模板  

模板

描述

HH

一天的小时数 (01-12)

HH12

一天的小时数 (01-12)

HH24

一天的小时数 (00-23)

MI

分钟 (00-59)

SS

秒 (00-59)

SSSS

午夜后的秒 (0-86399)

AM or A.M. or PM or P.M.

正午标识(大写)

am or a.m. or pm or p.m.

正午标识(小写)

Y,YYY

带逗号的年(4 和更多位)

YYYY

年(4和更多位)

YYY

年的后三位

YY

年的后两位

Y

年的最后一位

BC or B.C. or AD or A.D.

年标识(大写)

bc or b.c. or ad or a.d.

年标识(小写)

MONTH

全长大写月份名(9字符)

Month

全长混合大小写月份名(9字符)

month

全长小写月份名(9字符)

MON

大写缩写月份名(3字符)

Mon

缩写混合大小写月份名(3字符)

mon

小写缩写月份名(3字符)

MM

月份 (01-12)

DAY

全长大写日期名(9字符)

Day

全长混合大小写日期名(9字符)

day

全长小写日期名(9字符)

DY

缩写大写日期名(3字符)

Dy

缩写混合大小写日期名(3字符)

dy

缩写小写日期名(3字符)

DDD

一年里的日子(001-366)

DD

一个月里的日子(01-31)

D

一周里的日子(1-7;SUN=1)

W

一个月里的周数

WW

一年里的周数

CC

世纪(2 位)

J

Julian 日期(自公元前4712年1月1日来的日期)

Q

季度

RM

罗马数字的月份(I-XII;I=JAN)-大写

rm

罗马数字的月份(I-XII;I=JAN)-小写

所有模板都都允许使用前缀和后缀修改器。模板里总是允许使用修改器。前缀 'FX' 只是一个全局修改器。

 

表 3 用于日期/时间模板to_char() 的后缀  

后缀

描述

例子

FM

填充模式前缀

FMMonth

TH

大写顺序数后缀

DDTH

th

小写顺序数后缀

DDTH

FX

固定模式全局选项(见下面)

FX Month DD Day

SP

拼写模式(还未实现)

DDSP

用法须知:

·         如果没有使用FX选项,to_timestamp和to_date忽略空白。FX必须做为模板里的第一个条目声明。

·         反斜杠("")必须用做双反斜杠("\"),例如'\HH\MI\SS'。

·         双引号('"')之间的字串被忽略并且不被分析。如果你想向输出写双引号,你必须在双引号前面放置一个双反斜杠('\'),例如 '\"YYYY Month\"'。

·         to_char支持不带前导双引号('"')的文本,但是在双引号之间的任何字串会被迅速处理并且还保证不会被当作模板关键字解释(例如:'"Hello Year: "YYYY')。

 

表 4 用于to_char(numeric) 的模板  

模板

描述

9

带有指定位数的值

0

前导零的值

. (句点)

小数点

, (逗号)

分组(千)分隔符

PR

尖括号内负值

S

带负号的负值(使用本地化)

L

货币符号(使用本地化)

D

小数点(使用本地化)

G

分组分隔符(使用本地化)

MI

在指明的位置的负号(如果数字 < 0)

PL

在指明的位置的正号(如果数字 > 0)

SG

在指明的位置的正/负号

RN

罗马数字(输入在 1 和 3999 之间)

TH or th

转换成序数

V

移动n位(小数)(参阅注解)

EEEE

科学记数。现在不支持。

NLS_NUMERIC_CHARACTERS=dg

d为小数点字符,g为组分隔符

NLS_CURRENCY=com

本地钱币符号

NLS_ISO_CURRENCY=$

国际钱币符号

用法须知:

·         使用 'SG','PL' 或 'MI' 的带符号字并不附着在数字上面;例如,to_char(-12, 'S9999') 生成' -12',而to_char(-12, 'MI9999') 生成'- 12'。Oracle里的实现不允许在9前面使用MI,而是要求9在MI前面。

·         PL,SG,和TH是 Postgres扩展。

·         9表明一个与在9字串里面的一样的数字位数。如果没有可用的数字,那么使用一个空白(空格)。

·         TH不转换小于零的值,也不转换小数。TH是一个 Postgres扩展。

·         V方便地把输入值乘以10^n,这里n是跟在V后面的数字。to_char不支持把V与一个小数点绑在一起使用(例如. "99.9V99" 是不允许的)。

 

表 5 to_char例子  

输入

输出

trim(to_char(0.12345,'99990.99999'))

0.12345

to_char(123456.789,'L99G999G999D9999','NLS_NUMERIC_CHARACTERS=., NLS_CURRENCY=$')

$123,456.7890

to_char(now(),'Day, HH12:MI:SS')

'Tuesday , 05:39:18'

to_char(now(),'FMDay, HH12:MI:SS')

'Tuesday, 05:39:18'

to_char(-0.1,'99.99')

' -.10'

to_char(-0.1,'FM9.99')

'-.1'

to_char(0.1,'0.9')

' 0.1'

to_char(12,'9990999.9')

' 0012.0'

to_char(12,'FM9990999.9')

'0012'

to_char(485,'999')

' 485'

to_char(-485,'999')

'-485'

to_char(485,'9 9 9')

' 4 8 5'

to_char(1485,'9,999')

' 1,485'

to_char(1485,'9G999')

' 1 485'

to_char(148.5,'999.999')

' 148.500'

to_char(148.5,'999D999')

' 148,500'

to_char(3148.5,'9G999D999')

' 3 148,500'

to_char(-485,'999S')

'485-'

to_char(-485,'999MI')

'485-'

to_char(485,'999MI')

'485'

to_char(485,'PL999')

'+485'

to_char(485,'SG999')

'+485'

to_char(-485,'SG999')

'-485'

to_char(-485,'9SG99')

'4-85'

to_char(-485,'999PR')

''

to_char(485,'L999')

'DM 485

to_char(485,'RN')

' CDLXXXV'

to_char(485,'FMRN')

'CDLXXXV'

to_char(5.2,'FMRN')

V

to_char(482,'999th')

' 482nd'

to_char(485, '"Good number:"999')

'Good number: 485'

to_char(485.8,'"Pre-decimal:"999" Post-decimal:" .999')

'Pre-decimal: 485 Post-decimal: .800'

to_char(12,'99V999')

' 12000'

to_char(12.4,'99V999')

' 12400'

to_char(12.45, '99V9')

' 125'


    
 
 

您可能感兴趣的文章:

  • Oracle 系统变量函数介绍
  • Oracle 系统变量函数用法指南
  • Oracle中decode函数的用法
  • Oracle round()函数与trunc()函数区别介绍
  • oracle中lpad函数的用法详解
  • MySQL实现类似Oracle中的decode()函数的功能
  • Oracle函数substr(str1, pos, [len])
  • Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
  • SQL中Charindex和Oracle中对应的函数Instr对比
  • apache通过php的oci函数读取Oracle(字符集ZHS16GBK)时,显示乱码,如何解决?
  • Oracle Max函数使用中出现的问题
  • oracle合并列的函数wm_concat的使用详解
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • c#中oracle to_date函数用法举例
  • Oracle 函数用法之decode
  • Oracle过程与函数的区别分析
  • Oracle层次查询和with函数的使用示例
  • oracle的nvl函数的使用介绍
  • c#中oracle的to_date函数使用方法
  • Oracle中nul()函数
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • oracle to_char函数将number转成string
  • Oracle to_char 日期转换字符串语句分享
  • Oracle to_char函数的使用方法
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,