postgreSQLで左にゼロを埋め込む 質問する

postgreSQLで左にゼロを埋め込む 質問する

私は PostgreSQL を使い始めたばかりで、SQL Server で数値の左側にゼロを埋め込む方法は知っていますが、PostgreSQL でこれを理解するのに苦労しています。

最大桁数が 3 で最小桁数が 1 の数値列があります。1 桁の場合は左側に 2 つのゼロがあり、2 桁の場合は 1 つのゼロがあります (例: 001、058、123)。

SQL Server では以下を使用できます。

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

これは PostgreSQL には存在しません。ご協力いただければ幸いです。

ベストアンサー1

rpadおよび関数を使用lpadして、それぞれ数値を右または左にパディングできます。これは数値に対して直接機能しないため、数値をキャストするに::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

おすすめ記事