热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Oracleto_char格式化函数

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

Postgres 格式化函数提供一套有效的工具用于把各种数据类型(日期/时间,int,float,numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成原始的数据类型。
注意:所有格式化函数的第二个参数是用于转换的模板。
表 5-7. 格式化函数
函数 返回 描述 例子
to_char(timestamp, text) text 把 timestamp 转换成 string to_char(timestamp 'now','HH12:MI:SS')  www.2cto.com  
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')
表 5-8. 用于 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 和更多位)  www.2cto.com  
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' 只是一个全局修改器。

表 5-9. 用于日期/时间模板 to_char() 的后缀
后缀 描述 例子
FM 填充模式前缀 FMMonth
TH 大写顺序数后缀 DDTH
th 小写顺序数后缀 DDTH
FX 固定模式全局选项(见下面) FX Month DD Day
SP 拼写模式(还未实现) DDSP      www.2cto.com  
用法须知:
如果没有使用 FX 选项,to_timestamp 和 to_date 忽略空白。FX 必须做为模板里的第一个条目声明。
反斜杠("\")必须用做双反斜杠("\\"),例如 '\\HH\\MI\\SS'。
双引号('"')之间的字串被忽略并且不被分析。如果你想向输出写双引号,你必须在双引号前面放置一个双反斜杠('\\'),例如 '\\"YYYY Month\\"'。
to_char 支持不带前导双引号('"')的文本,但是在双引号之间的任何字串会被迅速处理并且还保证不会被当作模板关键字解释(例如:'"Hello Year: "YYYY')。
表 5-10. 用于 to_char(numeric) 的模板
模板 描述
9 带有指定位数的值
0 前导零的值
. (句点) 小数点
, (逗号) 分组(千)分隔符
PR 尖括号内负值
S 带负号的负值(使用本地化)
L 货币符号(使用本地化)
D 小数点(使用本地化)
G 分组分隔符(使用本地化)
MI 在指明的位置的负号(如果数字 <0)
PL 在指明的位置的正号(如果数字 > 0)
SG 在指明的位置的正/负号
RN 罗马数字(输入在 1 和 3999 之间)
TH or th 转换成序数
V 移动 n 位(小数)(参阅注解)
EEEE 科学记数。现在不支持。
用法须知:
使用 &#39;SG&#39;,&#39;PL&#39; 或 &#39;MI&#39; 的带符号字并不附着在数字上面;例如,to_char(-12, &#39;S9999&#39;) 生成 &#39; -12&#39;,而 to_char(-12, &#39;MI9999&#39;) 生成 &#39;- 12&#39;。Oracle 里的实现不允许在 9 前面使用 MI,而是要求 9 在 MI 前面。  www.2cto.com  
PL,SG,和 TH 是 Postgres 扩展。
9 表明一个与在 9 字串里面的一样的数字位数。如果没有可用的数字,那么使用一个空白(空格)。
TH 不转换小于零的值,也不转换小数。TH 是一个 Postgres 扩展。
V 方便地把输入值乘以 10^n,这里 n 是跟在 V 后面的数字。to_char 不支持把 V 与一个小数点绑在一起使用(例如. "99.9V99" 是不允许的)。
表 5-11. to_char 例子
输入 输出
to_char(now(),&#39;Day, HH12:MI:SS&#39;) &#39;Tuesday , 05:39:18&#39;
to_char(now(),&#39;FMDay, HH12:MI:SS&#39;) &#39;Tuesday, 05:39:18&#39;
to_char(-0.1,&#39;99.99&#39;) &#39; -.10&#39;
to_char(-0.1,&#39;FM9.99&#39;) &#39;-.1&#39;
to_char(0.1,&#39;0.9&#39;) &#39; 0.1&#39;
to_char(12,&#39;9990999.9&#39;) &#39; 0012.0&#39;
to_char(12,&#39;FM9990999.9&#39;) &#39;0012&#39;
to_char(485,&#39;999&#39;) &#39; 485&#39;
to_char(-485,&#39;999&#39;) &#39;-485&#39;
to_char(485,&#39;9 9 9&#39;) &#39; 4 8 5&#39;
to_char(1485,&#39;9,999&#39;) &#39; 1,485&#39;
to_char(1485,&#39;9G999&#39;) &#39; 1 485&#39;
to_char(148.5,&#39;999.999&#39;) &#39; 148.500&#39;
to_char(148.5,&#39;999D999&#39;) &#39; 148,500&#39;
to_char(3148.5,&#39;9G999D999&#39;) &#39; 3 148,500&#39;
to_char(-485,&#39;999S&#39;) &#39;485-&#39;  www.2cto.com  
to_char(-485,&#39;999MI&#39;) &#39;485-&#39;
to_char(485,&#39;999MI&#39;) &#39;485&#39;
to_char(485,&#39;PL999&#39;) &#39;+485&#39;
to_char(485,&#39;SG999&#39;) &#39;+485&#39;
to_char(-485,&#39;SG999&#39;) &#39;-485&#39;
to_char(-485,&#39;9SG99&#39;) &#39;4-85&#39;
to_char(-485,&#39;999PR&#39;) &#39;<485>&#39;
to_char(485,&#39;L999&#39;) &#39;DM 485
to_char(485,&#39;RN&#39;) &#39; CDLXXXV&#39;
to_char(485,&#39;FMRN&#39;) &#39;CDLXXXV&#39;
to_char(5.2,&#39;FMRN&#39;) V
to_char(482,&#39;999th&#39;) &#39; 482nd&#39;
to_char(485, &#39;"Good number:"999&#39;) &#39;Good number: 485&#39;
to_char(485.8,&#39;"Pre-decimal:"999" Post-decimal:" .999&#39;) &#39;Pre-decimal: 485 Post-decimal: .800&#39;
to_char(12,&#39;99V999&#39;) &#39; 12000&#39;
to_char(12.4,&#39;99V999&#39;) &#39; 12400&#39;
to_char(12.45, &#39;99V9&#39;) &#39; 125&#39;
 
 
 
摘自 悠悠的BLOG

推荐阅读
  • 精选30本C# ASP.NET SQL中文PDF电子书合集
    欢迎订阅我们的技术博客,获取更多关于C#、ASP.NET和SQL的最新资讯和资源。 ... [详细]
  • 在即将迎来26岁生日之际,作者的人生陷入了低谷。经过近三年的硕士学习后,最终决定退学,并且面临没有工作经验的困境。尽管如此,作者依然坚定地选择为自己的人生负责。 ... [详细]
  • libsodium 1.0.15 发布:引入重大不兼容更新
    最新发布的 libsodium 1.0.15 版本带来了若干不兼容的变更,其中包括默认密码散列算法的更改和其他重要调整。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • MATLAB中的类别数组:存储和操作有限类别的数据
    类别数组(categorical array)是MATLAB中用于存储有限类别数据的一种特殊数组类型。它不仅提供对非数值数据的高效存储和操作,还保留了原有类别的名称,使数据处理更加直观便捷。此外,类别数组可以与表格(table)数据类型结合使用,以实现更复杂的数据分析。 ... [详细]
  • 本题涉及一棵由N个节点组成的树(共有N-1条边),初始时所有节点均为白色。题目要求处理两种操作:一是改变某个节点的颜色(从白变黑或从黑变白);二是查询从根节点到指定节点路径上的第一个黑色节点,若无则输出-1。 ... [详细]
  • VSCode与Gitee集成:项目提交的高效实践
    本文介绍如何利用VSCode内置的Git工具将项目提交到Gitee,简化Git命令的使用,提升代码管理效率。同时分享一些常见的踩坑经验和解决方案。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 台式电脑的电力消耗:待机一天耗电多少?
    探讨台式电脑的电力消耗问题,特别是待机状态下的能耗。本文将详细介绍影响电脑功耗的因素,并提供计算和优化电源配置的方法。 ... [详细]
  • 本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文探讨了《魔兽世界》中红蓝两方阵营在备战阶段的策略与实现方法,通过代码展示了双方如何根据资源和兵种特性进行战士生产。 ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
author-avatar
蒋雨儿_824
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有