【Oracle】数値をゼロ埋めする方法

Oracleデータベースを利用する際、数値をゼロ埋めする必要があるシーンはよくあります。この記事では、簡単に数値をゼロ埋めする方法を詳しく説明します。

ゼロ埋めの基本 TO_CHAR関数

Oracleでは、数値をゼロ埋めするために`TO_CHAR`関数を使用します。`TO_CHAR`関数を使うと、数値を特定のフォーマットに変換することができます。

例えば、数値`123`を5桁のゼロ埋めされた形式に変換する場合、次のように記述します。

SELECT TO_CHAR(123, '00000') FROM dual;

このクエリの結果は00123となります。

フォーマット指定

TO_CHAR(number, ‘format’)のnumber部分にはゼロ埋めしたい数値を指定します。format部分にはゼロを含めた桁数を指定することで、その桁数に満たない場合に前にゼロが埋められます。

複数の例

以下に、いくつかの異なる数値をゼロ埋めする例を示します。

SELECT 
  TO_CHAR(7, '00000') AS zero_filled_7,
  TO_CHAR(89, '00000') AS zero_filled_89,
  TO_CHAR(456, '00000') AS zero_filled_456
FROM dual;

このクエリの結果は次のようになります。

ZERO_FILLED_7 ZERO_FILLED_89 ZERO_FILLED_456
00007 00089 00456

実用的な応用

ゼロ埋めは、特に固定長のコードや識別子を扱う際に役立ちます。例えば、社員番号や商品コードなどの管理において、一貫したフォーマットを維持するために使用されます。

社員番号を一律6桁にする場合

SELECT TO_CHAR(employee_id, '000000') FROM employees;

このクエリを使用すると、employee_idが6桁に満たない場合、自動的に前にゼロが追加されます。

まとめ

Oracleデータベースで数値をゼロ埋めする方法は非常に簡単で、TO_CHAR関数を使用するだけです。この方法を使えば、必要な形式に応じて数値のフォーマットを調整することができます。ぜひ活用してみてください。