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

【MySQL】LPAD関数で1桁の数値を2桁(ゼロ埋め)に変換する方法

1桁の数値を2桁に変換したい場合(例:「4」→「04」)、MySQLのLPAD()関数を使用すると便利です。LPAD()は文字列の左側を指定した文字で埋め、指定した桁数までパディング(ゼロ埋め)を行う関数です。

サンプルテーブルの作成

まず、動作確認用のテーブルを作成します。

mysql> create table DemoTable767 (Value varchar(100));
Query OK, 0 rows affected (1.40 sec)

レコードの挿入

INSERTコマンドを使って、テーブルにいくつかのレコードを挿入しましょう。

mysql> insert into DemoTable767 values('4');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable767 values('5');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable767 values('6');
Query OK, 1 row affected (0.39 sec)
mysql> insert into DemoTable767 values('1');
Query OK, 1 row affected (0.10 sec)

登録済みレコードの確認

SELECT文ですべてのレコードを表示して、データが正しく登録されているか確認します。

mysql> select *from DemoTable767;

このクエリを実行すると、次のような出力が得られます。

+-------+
| Value |
+-------+
| 4 |
| 5 |
| 6 |
| 1 |
+-------+
4 rows in set (0.00 sec)

1桁の数値を2桁に変換するクエリ

それでは本題です。以下のクエリでは、LPAD()関数を使って各値の左側を「0」でパディングし、1桁の数値を2桁に変換しています。

mysql> select lpad(Value,2,'0') from DemoTable767;

実行結果は以下の通りです。すべての数値が先頭に「0」が付いた2桁表示になっていることが確認できます。

+-------------------+
| lpad(Value,2,'0') |
+-------------------+
| 04 |
| 05 |
| 06 |
| 01 |
+-------------------+
4 rows in set (0.00 sec)

LPAD()関数の構文

LPAD()関数は以下の構文で使用します。

LPAD(対象の文字列, 変換後の全体の長さ, パディングに使う文字列)

今回の例では、「Value」列の値を全体で2桁になるように、左側を「0」で埋めています。

注意点

LPAD()はあくまで文字列として扱うため、元の列が数値型の場合も暗黙的に文字列へ変換されて処理されます。また、指定した長さを超える値が存在する場合は、超過分が切り捨てられる点にも注意が必要です。日付や時刻の表示形式を整えたい場合や、ソート・表示の整合性を保ちたい場合などに、この方法は幅広く活用できます。

  1. MySQLの1つのINSERT文で複数行をまとめて挿入する方法

    はじめにMySQLでは、INSERT文を何度も実行しなくても、1つのクエリで複数の行(レコード)を一度に挿入することができます。VALUES句の後にカンマ区切りで複数の値セットを記述するだけで、効率よくデータを登録できるため、大量の初期データ投入などで非常に便利です。この記事では、実際のSQL例を使いながら、複数行を一括挿入する手順をわかりやすく解説します。1. テーブルを作成するまず、サンプル用のテーブルを作成します。StudentIdはAUTO_INCREMENT付きの主キーとして定義し、レコード追加時に自動的に連番が採番されるようにしています。mysql> create table

  2. MySQLでタイムスタンプを月に変換するクエリの書き方

    タイムスタンプを月に変換する基本構文MySQLでタイムスタンプ(UNIXタイムスタンプ)を月に変換するには、FROM_UNIXTIME()関数とMONTH()関数を組み合わせて使用します。基本的な構文は以下の通りです。select month(from_unixtime(yourColumnName)) from yourTableName;FROM_UNIXTIME()関数がUNIXタイムスタンプを日時形式に変換し、その結果に対してMONTH()関数を適用することで、月の数値(1〜12)を取得できます。サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> cr