私は 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