MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで列の値に先頭ゼロを追加する方法!LPAD()関数の使い方を実例付きで解説

MySQLで列(カラム)の値の先頭にゼロ(先行ゼロ)を追加したい場合は、LPAD()関数を使用します。LPAD()は、指定した文字列が目標の長さになるまで左側に任意の文字を埋め込む(パディングする)関数です。

LPAD()関数の基本構文

構文は以下のとおりです。

select lpad(yourColumnName, lengthofColumnValue+1, 0) from yourTableName;

各引数の意味は次のとおりです。

  • 第1引数:対象となるカラム名または文字列
  • 第2引数:結果として得られる文字列の合計の長さ
  • 第3引数:左側に埋め込む文字(ここでは「0」)

なお、元の文字列が第2引数で指定した長さより長い場合は、超過分が切り捨てられる点に注意してください。

LPAD()関数の簡単な使用例

まずはシンプルな例を見てみましょう。

mysql> select lpad('98765432', 9, 0);

実行結果:

+----------------------+
| lpad('98765432',9,0) |
+----------------------+
| 098765432            |
+----------------------+
1 row in set (0.00 sec)

8桁の数値「98765432」の先頭に「0」が追加され、9桁の「098765432」になっていることがわかります。

実際のテーブルで動きを確認してみよう

テーブルを作成する

実際の例で確認するために、まずテーブルを作成します。

mysql> create table leadingZeroDemo
-> (
    -> Id varchar(200)
-> );
Query OK, 0 rows affected (0.63 sec)

レコードを挿入する

次に、INSERT文を使っていくつかのレコードをテーブルに挿入します。

mysql> insert into leadingZeroDemo values('2345');
Query OK, 1 row affected (0.17 sec)

mysql> insert into leadingZeroDemo values('1234');
Query OK, 1 row affected (0.16 sec)

mysql> insert into leadingZeroDemo values('9876');
Query OK, 1 row affected (0.14 sec)

mysql> insert into leadingZeroDemo values('4321');
Query OK, 1 row affected (0.13 sec)

登録済みレコードを確認する

SELECT文ですべてのレコードを表示して、登録内容を確認しましょう。

mysql> select * from leadingZeroDemo;

実行結果:

+------+
| Id   |
+------+
| 2345 |
| 1234 |
| 9876 |
| 4321 |
+------+
4 rows in set (0.00 sec)

LPAD()関数で先頭ゼロを追加する

それでは、LPAD()関数を適用して先頭にゼロを追加します。Idの値はすべて4桁なので、第2引数に「5」を指定すると1文字分の余白が生まれ、その部分に「0」が埋め込まれます。

mysql> select lpad(Id, 5, 0) from leadingZeroDemo;

先頭ゼロが追加された実行結果:

+--------------+
| lpad(Id,5,0) |
+--------------+
| 02345        |
| 01234        |
| 09876        |
| 04321        |
+--------------+
4 rows in set (0.00 sec)

まとめ

MySQLで列の値に先頭ゼロを追加するには、LPAD()関数がとても便利です。「対象のカラム」「パディング後の全体の長さ」「埋め込む文字」の3つの引数を指定するだけで、簡単に固定桁数の文字列を作成できます。社員番号や商品コードなど、桁数を揃えて管理したいIDを扱う場面でぜひ活用してください。

  1. PythonでMySQLのテーブルに新しい列(カラム)を追加する方法

    既存のテーブルに後から新しい列を追加したい場面は少なくありません。例えば、「Students(学生)」というテーブルに「Name(名前)」「Age(年齢)」「Roll no(出席番号)」といった列があるとします。ここに、新しく「Address(住所)」という列を追加したい場合、どうすればよいのでしょうか。このようなときに活躍するのがALTERコマンドです。ALTERコマンドは、データベース内の列を変更・削除・更新するためのコマンドで、ADD句と組み合わせることで、テーブルに新しい列を追加することもできます。構文ALTER TABLE table_name ADD new_column_name

  2. PythonでMySQLのカラムにコメントを追加する方法をわかりやすく解説

    コメントとは、コードやデータベースの構造に対して付ける「読み手のための説明文」のことです。プログラム内のコメントは、そのコードが何のために書かれたのかを示す役割を持ち、第三者がコードの意図や用途を理解する助けになります。コメントはコンパイラや実行エンジンによって無視されるため、処理には一切影響しません。しかし、保守性や可読性を高める上で非常に重要な要素です。テーブルのカラムにもコメントを付けられるSQLでは、テーブルの各カラム(列)にもコメントを追加できます。カラムにコメントを付けておくと、「このカラムが何を表しているのか」「どのような用途で使われるのか」がひと目で分かるようになります。特に、