web-dev-qa-db-ja.com

postgresのto_char(number)関数

to_char()関数を使用して、数値を文字(同じ長さ)に表示/変換したい。

Oracleでは、私は次のように書くことができます

_SELECT to_char(1234) FROM DUAL
_

しかし、postgresではSELECT to_char(1234)は機能しません。

22
jobi88

フォーマットマスクを指定する必要があります。 PostgreSQLにはデフォルトはありません。

select to_char(1234, 'FM9999');

桁数がわからない場合は、最大値を見積もってください。

select to_char(1234, 'FM999999999999999999');

数字の桁数が少ない場合、副作用はありません。

書式設定(小数点、千単位の区切り記号など)が必要ない場合は、値をテキストにキャストすることもできます。

select 1234::text
41

数値形式を指定する必要があります。つまり:

to_char(1234, '9999')

詳細については、こちらをご覧ください: http://www.postgresql.org/docs/current/static/functions-formatting.html

6
Lorenzo L

CAST関数が機能しました。

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

OR

SELECT integerv::text AS textv
FROM (
       SELECT 1234 AS integerv
     ) x
0
changed