[PostgreSQL]PostgreSQL数据类型格式化函数——字符串和数值间的转换
Posted vickylinj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PostgreSQL]PostgreSQL数据类型格式化函数——字符串和数值间的转换相关的知识,希望对你有一定的参考价值。
详情见官网:http://www.postgres.cn/docs/10/functions-formatting.html
PostgreSQL中有以下格式化函数:
函数 | 返回类型 | 描述 | 例子 |
---|---|---|---|
to_char( |
text |
把时间戳转成字符串 | to_char(current_timestamp, \'HH12:MI:SS\') |
to_char( |
text |
把间隔转成字符串 | to_char(interval \'15h 2m 12s\', \'HH24:MI:SS\') |
to_char( |
text |
把整数转成字符串 | to_char(125, \'999\') |
|
text |
把实数或双精度转成字符串 | to_char(125.8::real, \'999D9\') |
to_char( |
text |
把数字转成字符串 | to_char(-125.8, \'999D99S\') |
to_date( |
date |
把字符串转成日期 | to_date(\'05 Dec 2000\', \'DD Mon YYYY\') |
to_number( |
numeric |
把字符串转成数字 | to_number(\'12,454.8-\', \'99G999D9S\') |
to_timestamp( |
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数据类型格式化函数——字符串和数值间的转换的主要内容,如果未能解决你的问题,请参考以下文章