【发布时间】:2012-12-18 19:17:33
【问题描述】:
我想使用 to_char() 函数将数字显示/转换为字符(长度相同)。
在 oracle 中我可以这样写
SELECT to_char(1234) FROM DUAL
但是在 postgres 中
SELECT to_char(1234)
不工作。
【问题讨论】:
我想使用 to_char() 函数将数字显示/转换为字符(长度相同)。
在 oracle 中我可以这样写
SELECT to_char(1234) FROM DUAL
但是在 postgres 中
SELECT to_char(1234)
不工作。
【问题讨论】:
您需要提供格式掩码。在 PostgreSQL 中没有默认值:
select to_char(1234, 'FM9999');
如果你不知道有多少位,只估计最大值:
select to_char(1234, 'FM999999999999999999');
如果数字的位数较少,则不会产生任何副作用。
如果您不需要任何格式(如小数点、千位分隔符),您也可以简单地将值转换为文本:
select 1234::text
【讨论】:
你必须指定一个数字格式,即:
to_char(1234, '9999')
点击此处了解更多信息:http://www.postgresql.org/docs/current/static/functions-formatting.html
【讨论】:
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
【讨论】:
你可以使用:
1234||''
它适用于大多数数据库。
【讨论】: