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
相关文章
|
4月前
|
SQL Oracle 算法
|
4月前
|
SQL Oracle 关系型数据库
|
4月前
|
SQL Oracle 关系型数据库
Oracle|内置函数之INSTR
【7月更文挑战第5天】
|
4月前
|
Oracle 关系型数据库 数据挖掘
|
6月前
|
SQL Oracle 关系型数据库
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
110 0
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
|
4月前
|
Oracle 关系型数据库 数据挖掘
|
6月前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
74 0
|
5月前
|
存储 Oracle NoSQL
Oracle中decode函数详解
Oracle中decode函数详解
|
5月前
|
Oracle 关系型数据库 大数据
oracle递归函数
oracle递归函数
|
6月前
|
NoSQL Oracle 关系型数据库
MongoDB与Oracle:管道函数兼容之道
【4月更文挑战第20天】
59 2