27

我想使用 to_char() 函数将数字显示/转换为字符(长度相同)。

在 oracle 中我可以这样写

SELECT to_char(1234) FROM DUAL

但是在 postgres SELECT to_char(1234) 中不起作用。

4

4 回答 4

51

您需要提供格式掩码。在 PostgreSQL 中没有默认值:

select to_char(1234, 'FM9999');

如果您不知道有多少位数,只需估计最大值:

select to_char(1234, 'FM999999999999999999');

如果数字的位数较少,则不会产生任何副作用。

如果您不需要任何格式(如小数点、千位分隔符),您也可以简单地将值转换为文本:

select 1234::text
于 2013-01-04T10:53:05.537 回答
7

您必须指定数字格式,即:

to_char(1234, '9999')

在这里查看更多信息:http ://www.postgresql.org/docs/current/static/functions-formatting.html

于 2013-01-04T10:53:12.370 回答
0

CAST 功能对我有用。

SELECT CAST(integerv AS text) AS textv
FROM (
       SELECT 1234 AS integerv
     ) x

或者

SELECT integerv::text AS textv
FROM (
       SELECT 1234 AS integerv
     ) x
于 2019-01-25T00:55:30.430 回答
-1

您可以使用:

1234||''

它适用于大多数数据库。

于 2017-09-21T19:53:21.483 回答