详情见官网:http://www.postgres.cn/docs/10/functions-formatting.html
PostgreSQL中有以下格式化函数:
| 函数 | 返回类型 | 描述 | 例子 | 
to_char(timestamp, text) | 
text | 
把时间戳转成字符串 | 
to_char(current_timestamp, ‘HH12:MI:SS‘) | 
to_char(interval, text) | 
text | 
把间隔转成字符串 | 
to_char(interval ‘15h 2m 12s‘, ‘HH24:MI:SS‘) | 
to_char(int, text) | 
text | 
把整数转成字符串 | 
to_char(125, ‘999‘) | 
to_char(double precision, text) | 
text | 
把实数或双精度转成字符串 | 
to_char(125.8::real, ‘999D9‘) | 
to_char(numeric, text) | 
text | 
把数字转成字符串 | 
to_char(-125.8, ‘999D99S‘) | 
to_date(text, text) | 
date | 
把字符串转成日期 | 
to_date(‘05 Dec 2000‘, ‘DD Mon YYYY‘) | 
to_number(text, text) | 
numeric | 
把字符串转成数字 | 
to_number(‘12,454.8-‘, ‘99G999D9S‘) | 
to_timestamp(text, text) | 
timestamp with time zone | 
把字符串转成时间戳 | 
to_timestamp(‘05 Dec 2000‘, ‘DD Mon YYYY‘) | 
1.将数值转成字符串类型to_char(int, text): 参数1为要转换值,参数2为数值格式化模式,其中用于数字格式化的模板模式为:
 
| 模式 | 描述 | 
9 | 
数字位置(如果不重要,可以丢弃) | 
0 | 
数字位置(就算不重要,也不能丢弃) | 
. (period) | 
小数点 | 
, (comma) | 
分组(千)分隔符 | 
PR | 
尖括号内的负值 | 
S | 
带符号的数字(使用区域) | 
L | 
货币符号(使用区域) | 
D | 
小数点(使用区域) | 
G | 
分组分隔符(使用区域) | 
MI | 
在指定位置的负号(如果数字 < 0) | 
PL | 
在指定位置的正号(如果数字 > 0) | 
SG | 
在指定位置的正/负号 | 
RN | 
罗马数字(输入在 1 和 3999 之间) | 
TH or th | 
序数后缀 | 
V | 
移动指定位数(参阅注解) | 
EEEE | 
科学记数的指数 | 
 
 
1.1当模式串大于等于于数字个数时,字符串正常显示:
 
 
1.2当模式串小于数字个数时,字符串会显示为#,位数跟格式化模式中9的位数有关:
 
 
1.3对于to_char方法模式串‘9’和‘0’的区别,为0时会补足0:
 
2.将字符串转成数值to_number(text,text):参数1是要转的数字字符串,参数2为模式参数
2.1当模式串大于等于于数字个数时,字符串正常显示;
 
2.2当模式串小于数字个数时,字符串仍然正常显示:
 
 
 
2.3对于to_number方法模式串为‘9’和‘0’时效果一致:
 
 
 
[PostgreSQL]PostgreSQL数据类型格式化函数——字符串和数值间的转换
原文:https://www.cnblogs.com/vickylinj/p/9670969.html