数据库to_char函数_db2 to_char函数-程序员宅基地

技术标签: oracle  数据库  to_char  

Postgres 格式化函数提供一套有效的工具用于把各种数据类型(日期/时间,int,float,numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成原始的数据类型。
注意:所有格式化函数的第二个参数是用于转换的模板。
表 5-7. 格式化函数
函数 返回 描述 例子
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')
表 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 和更多位)
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
用法须知:

如果没有使用 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 科学记数。现在不支持。
用法须知:

使用 '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-11. to_char 例子
输入 输出
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') '<485>'
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'

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/tongxinhaonan/article/details/64905209

智能推荐

Nodejs:Koa框架——基于NodeJS的web框架知识点总结_nodejs的qoa框架-程序员宅基地

文章浏览阅读285次。再次思考:从浏览器输入 URL 到页面展示过程的过程中发生了什么?通过前面的基础学习,我们了解了基于 Web 的应用基本流程:通过上图不难发现,无论具体应用功能如何变化, 服务端 处理任务核心三个步骤:③、④、⑤ 中,③ 和 ⑤ 的模式基本是固定的(因为HTTP协议规范了),而 ④ 是最大的变量。如果我们每次开发一个新的应用都要把 ③ 和 ⑤ 的逻辑重新实现一遍就会特别的麻烦。所以,我们可以封装一个框架(库)把 ③ 和 ⑤ 的逻辑进行统一处理,然后通过某种方式,把 ④ 的处理暴露给框架使用者。Ko_nodejs的qoa框架

asp.net发送邮件代码(Gmail、163能发)_aspx.net用国外邮箱发送邮件-程序员宅基地

文章浏览阅读4.7k次。今天测试了gmail的邮箱能发出去,其它的我测试是发不出去。 #region 发送邮件的函数 /// /// 发送邮件函数Gmail /// /// 邮件主题 /// 邮件内容 /// 邮箱服务器(为空值则为smtp.gmail.com) /// 接收邮箱_aspx.net用国外邮箱发送邮件

cpu之Memory_Writeback_memory writeback-程序员宅基地

文章浏览阅读552次。cpu之Memory_Writeback_memory writeback

用vector创建字符串数组对象,长度为5._用vector创建字符串数组对象,长度为5-程序员宅基地

这篇文章介绍了如何使用vector创建一个长度为5的字符串数组对象,并手动输入5个英文句子存入数组中。同时,还展示了如何使用for循环和size()方法显示每个句子的长度。

Java oop开发:Java面向对象_亮少2328031994-程序员宅基地

文章浏览阅读236次。Java 游戏开发:关于Java面向对象的知识(一)方法(函数)方法方法与函数的区别函数:可以实现一定功能的代码块方法:存放在类里面可以实现一定功能的单独的代码块在Java、C++、C#为例子的语言中 函数必须在方法里面,所以在Java中所提到的函数都可以是方法在Python、lua 、VB这些语言中,函数可以在类外面定义,所以函数是函数 方法是方法ps:有些时候 方法叫做类方法既然方法可以实现一个功能 ,我们可以将其理解成一个工具,如何定义一个特定功能的方法,是一个简单的事情:pu_亮少2328031994

Verilog HDL学习——Verilog语法的基本概念_verilog 布尔-程序员宅基地

文章浏览阅读978次。一、概述Verilog HDL是一种用于数字系统设计的语言。用Verilog HDL描述电路设计就是该电路的Verilog HDL模型,也称为模块。Verilog HDL既是一种行为描述的语言也是一种结构描述的语言,这就是说,如果按照一定的规则风格编写,功能行为模块可以通过工具自动的转换为门级互联的结构模块。Verilog 模型可以是实际电路的不同级别的抽象,这些抽象的级别和他们所对应的模型类型共有以下5种,现分别给意见简述。(1)系统级(system level):用语言提供的高级结构能够实现待设_verilog 布尔

随便推点

php高级基础,PHP从基础到高级详细教程(完整版)-程序员宅基地

文章浏览阅读1.1k次。PHP基础数学函数 字符串函数 PHP常用函数总结(180多个)PHP基础语法PHP变量变量命名 变量类型 引用赋值PHP常量PHP数据的类型类型 范围 引号 字符串连接符 自动(强制)转换 判断变量类型PHP运算符运算符 自增自减 三元运算符 优先级PHP流程控制if switch for while 四个..._php 教程pbd

mybatis注入java实体类中日期属性的格式问题_mybatis查询的时间怎么注入实体-程序员宅基地

文章浏览阅读659次。写大作业时发现的问题:查询结果的日期字段是毫秒数找到一篇666的博文,有具体解决办法原文:https://www.cnblogs.com/bulrush/p/8857956.html在实体类的set方法中加上注解就ok啦@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")public void setDate(Date date) {   this.date = date;}..._mybatis查询的时间怎么注入实体

Linux或者mac的文件夹下的转码_macbook gbk 转码命令 文件夹下 全部文件-程序员宅基地

文章浏览阅读676次。有window的时候,没有什么文本编码问题,可是用linux的时候,就会出现了。下面是将某文件夹下的所有文件进行转码:例子:将文件夹javatest下的所有.java文件转码,window上的eclipse常常使用了gbk,现在把它转为utf-8, 放到javatest_1文件夹下;当然这个脚本是不完善的。还需要修改,先这样了: #!/bin/bash#获取文件的父_macbook gbk 转码命令 文件夹下 全部文件

台湾国立大学郭彦甫Matlab教程笔记(1)schedule_matlab中schedule函数-程序员宅基地

文章浏览阅读4k次,点赞34次,收藏94次。初次接触_matlab中schedule函数

用python模拟微信支付_微信app支付python代码实现-程序员宅基地

文章浏览阅读1.5k次。微信app支付python代码(python2)python3应该差不多,官方文档:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_1业务流程:商户系统和微信支付系统主要交互说明:#步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。用户在app页面选择商品,确定数量,提交订单,提供必要的参数app支付需要的前端参数..._python控制手机付款

C语言探索之旅 | 第一部分第三课:你的第一个程序-程序员宅基地

文章浏览阅读1.8k次。经过前两次课《什么是编程》和《工欲善其事,必先利其器》,我们已经把舞台搭好了,这一课,是时候把我们的主角C语言请出来了。在这一课中,我们将一起来写第一个程序。当然了, 这个程序会是黑白的,也不会跟你打招呼,更不会帮你泡咖啡。可能显得毫无用处,但却是你的第一个程序,我保证你会有成就感的。

推荐文章

热门文章

相关标签