1. ホーム
  2. sql

[解決済み] postgreSQL におけるゼロの左詰め

2022-06-14 05:26:54

質問

私はPostgreSQLの比較的新しいユーザです。SQL Serverでは数値の左側にゼロを埋め込む方法を知っていますが、PostgreSQLではこれを理解するのに苦労しています。

私は、最大桁数が3、最小桁数が1の数値列を持っています。1桁の場合は左に2つのゼロがあり、2桁の場合は1があります。

SQL Serverでは、次のように使えます。

RIGHT('000' + cast([Column1] as varchar(3)), 3) as [Column2]

これはPostgreSQLには存在しません。何か手助けがあれば幸いです。

どのように解決するのですか?

を使用することができます。 rpadlpad 関数を使って、それぞれ数字を右寄せ、左寄せにすることができます。これは数字には直接作用しないことに注意してください。 ::char または ::text でキャストします。

SELECT RPAD(numcol::text, 3, '0'), -- Zero-pads to the right up to the length of 3
       LPAD(numcol::text, 3, '0')  -- Zero-pads to the left up to the length of 3
FROM   my_table