MySQLのINT型フィールドの先頭をゼロで埋める方法
MySQLでINT型フィールドの先頭をゼロ埋めするには
MySQLでは、LPAD()関数を使用することで、INT型フィールドの値の先頭をゼロで埋めることができます。この記事では、実際にサンプルテーブルを作成しながら、具体的な手順とクエリの書き方をわかりやすく解説します。
1. テーブルの作成
まず、動作確認用のテーブルを作成しましょう。
mysql> create table paddingDemo
-> (
-> Number int
-> );
Query OK, 0 rows affected (0.49 sec)
2. レコードの挿入
次に、INSERT文を使ってテーブルにいくつかのレコードを挿入します。
mysql> insert into paddingDemo values(78);
Query OK, 1 row affected (0.14 sec)
mysql> insert into paddingDemo values(560);
Query OK, 1 row affected (0.17 sec)
mysql> insert into paddingDemo values(888995);
Query OK, 1 row affected (0.13 sec)
mysql> insert into paddingDemo values(999994);
Query OK, 1 row affected (0.15 sec)
3. テーブルの中身を確認する
SELECT文を実行して、登録されたすべてのレコードを表示してみましょう。
mysql> select * from paddingDemo;
実行結果は以下の通りです。
+--------+
| Number |
+--------+
| 78 |
| 560 |
| 888995 |
| 999994 |
+--------+
4 rows in set (0.00 sec)
4. 先頭をゼロで埋めるクエリを実行する
それでは本題の、INT型フィールドの先頭をゼロで埋めるクエリを見ていきましょう。ポイントは、CONVERT()関数で数値をいったん文字列に変換し、その結果をLPAD()関数で10桁になるまで「0」で埋めている点です。
mysql> select LPAD(CONVERT(Number,char(8)),10,'0') AS paddingWithZeros from
paddingDemo;
実行結果は以下の通りです。すべての数値が10桁の文字列になり、足りない桁数分だけ先頭に「0」が自動的に付加されているのが確認できます。
+------------------+
| paddingWithZeros |
+------------------+
| 0000000078 |
| 0000000560 |
| 0000888995 |
| 0000999994 |
+------------------+
4 rows in set (0.00 sec)
まとめ
MySQLでINT型フィールドの先頭をゼロで埋めたい場合は、LPAD()関数とCONVERT()関数を組み合わせるのが便利です。CONVERT()で数値を文字列に変換し、LPAD()の第2引数に希望する合計桁数、第3引数に埋め文字として「'0'」を指定するだけで、簡単にゼロ埋めされた文字列を取得できます。
なお、これはあくまで取得時の表示を整形する方法です。データそのものを常に固定桁で保存したい場合は、ZEROFILL属性を持つカラムやVARCHAR型の利用も検討するとよいでしょう。用途に応じて適切な方法を選択してください。
-
MySQL APTリポジトリを使ったMySQLのアップグレード手順を徹底解説
MySQL APTリポジトリを利用すると、既存のMySQL環境に対して「インプレースアップグレード」を実行できます。システムにMySQLを再インストールすることなく、パッケージ管理ツールだけで最新バージョンへ移行できるのが大きなメリットです。この記事では、MySQL APTリポジトリを使ったアップグレードの具体的な手順と、実行時の注意点について詳しく解説します。MySQLのアップグレード手順1. MySQL APTリポジトリが登録されていることを確認まず、利用しているシステムのリポジトリ一覧に、MySQL APTリポジトリがすでに追加されていることを確認してください。まだ追加していない場合は、
-
MySQL Yumリポジトリを使ったMySQLのアップグレード手順を解説
MySQLは、公式のMySQL Yumリポジトリを利用することで簡単にアップグレードできます。本記事では、Yumリポジトリを使ったアップグレードの具体的な手順をわかりやすく解説します。 デフォルト設定では、MySQL Yumリポジトリは、インストール時にユーザーが選択したリリースシリーズ内で最新バージョンへの更新を行います。別のリリースシリーズへアップグレードしたい場合は、まず現在選択しているシリーズのサブリポジトリを無効化し、その後、ターゲットとなるシリーズのサブリポジトリを有効化する必要があります。なお、複数のシリーズをまたぐ一括アップグレードは避け、1つ隣のシリーズへ順番にアップグレー