Oracle to_char 函数

简介: Oracle to_char 函数

认真生活,因为生活只有一次



格式化函数 to_char:



函数 返回 描述 例子
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')




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)-小写



to_char 数字转换模板



模板 描述
9 带有指定位数的值
0 前导零的值
. (句点) 小数
, (逗号) 分组(千)分隔符
PR 尖括号内负值
S 带负号的负值(使用本地化)
L 货币符号(使用本地化)
D 小数点(使用本地化)
G 分组分隔符(使用本地化)
MI 在指明的位置的负号(如果数字 < 0)
PL 在指明的位置的正号(如果数字 > 0)
SG 在指明的位置的正/负号
RN 罗马数字(输入在 1 和 3999 之间)
TH or th 转换成序数
V 移动 <tt>n</tt> 位(小数)(参阅注解)
EEEE 科学记数。现在不支持。


栗子:


SELECT to_char(-12, 'S9999') FROM DUAL


结果就是负数:-12


to_char 的一些栗子


输入 输出
to_char(sysdate,'Day, HH12:MI:SS') <tt>'Tuesday , 05:39:18'</tt>
to_char(sysdate,'FMDay, HH12:MI:SS') <tt>'Tuesday, 05:39:18'</tt>
to_char(-0.1,'99.99') <tt>' -.10'</tt>
to_char(-0.1,'FM9.99') <tt>'-.1'</tt>
to_char(0.1,'0.9') <tt>' 0.1'</tt>
to_char(12,'9990999.9') <tt>' 0012.0'</tt>
to_char(12,'FM9990999.9') <tt>'0012'</tt>
to_char(485,'999') <tt>' 485'</tt>
to_char(-485,'999') <tt>'-485'</tt>
to_char(1485,'9,999') <tt>' 1,485'</tt>
to_char(1485,'9G999') <tt>' 1 485'</tt>
to_char(148.5,'999.999') <tt>' 148.500'</tt>
to_char(148.5,'999D999') <tt>' 148,500'</tt>
to_char(3148.5,'9G999D999') <tt>' 3 148,500'</tt>
to_char(-485,'999S') <tt>'485-'</tt>
to_char(-485,'999MI') <tt>'485-'</tt>
to_char(485,'999MI') <tt>'485'</tt>
to_char(485,'PL999') <tt>'+485'</tt>
to_char(485,'SG999') <tt>'+485'</tt>
to_char(-485,'SG999') <tt>'-485'</tt>
to_char(-485,'9SG99') <tt>'4-85'</tt>
to_char(-485,'999PR') <tt>'<485>'</tt>
to_char(485,'L999') <tt>'DM 485</tt>
to_char(485,'RN') <tt>' CDLXXXV'</tt>
to_char(485,'FMRN') <tt>'CDLXXXV'</tt>
to_char(5.2,'FMRN') <tt>V</tt>
to_char(482,'999th') <tt>' 482nd'</tt>
to_char(485, '"Good number:"999') <tt>'Good number: 485'</tt>
to_char(485.8,'"Pre-decimal:"999" Post-decimal:" .999') <tt>'Pre-decimal: 485 Post-decimal: .800'</tt>
to_char(12,'99V999') <tt>' 12000'</tt>
to_char(12.4,'99V999') <tt>' 12400'</tt>
to_char(12.45, '99V9') <tt>' 125'</tt>

to_char函数简单的应用:


Select TO_CHAR(1.0123) FROM DUAL结果:1.0123Select TO_CHAR(123.023223,'FM9999999.0099')  FROM DUAL结果:123.0232Select to_char(sysdate,'Day, HH12:MI:SS')  FROM DUAL结果:星期一, 04:08:26Select to_char(sysdate,'Day, HH24:mi:SS')  FROM DUAL
结果:星期一, 16:08:27
相关文章
|
8月前
|
SQL 存储 Oracle
【YashanDB知识库】Oracle pipelined函数在YashanDB中的改写
【YashanDB知识库】Oracle pipelined函数在YashanDB中的改写
|
SQL Oracle 算法
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
178 0
|
SQL Oracle 关系型数据库
|
SQL Oracle 关系型数据库
Oracle|内置函数之INSTR
【7月更文挑战第5天】
|
Oracle 关系型数据库 数据挖掘
|
Oracle 关系型数据库 数据挖掘
|
NoSQL Oracle 关系型数据库
MongoDB与Oracle:管道函数兼容之道
【4月更文挑战第20天】
200 2
|
Oracle 关系型数据库 数据管理
Oracle常用系统函数之日期和时间类函数:时空穿梭者的魔法棒
【4月更文挑战第19天】Oracle数据库中的日期和时间函数是强大的工具,如同时空穿梭者的魔法棒。`SYSDATE`和`CURRENT_TIMESTAMP`能显示当前时间,助你在数据中记录关键时刻;`ADD_MONTHS`函数让你轻易跃过月份,实现时间穿越;而`TO_DATE`和`TO_CHAR`则负责日期和时间的格式转换,如同时间的化妆师。除此之外,还有`EXTRACT`、`LAST_DAY`等更多魔法道具,帮助数据管理专家们自如操控时间,解决各种挑战。掌握这些函数,你也能在数据世界中自由穿梭!
|
Oracle 算法 关系型数据库
Oracle常用系统函数之数字类函数:数字的魔术师
【4月更文挑战第19天】Oracle数据库中的数字类函数是数字处理的魔术师,包括`ROUND`(四舍五入),`CEIL`和`FLOOR`(向上/下取整),以及`ABS`(计算绝对值)。还有`MOD`、`TRUNC`和`POWER`等函数,提供求余数、截断和计算幂的功能。熟练运用这些函数能提升数据管理效率,让处理数字变得更简单、有趣。

推荐镜像

更多