MySQLで列の値の先頭に000(ゼロ埋め)を追加する方法
MySQLで列の値に000(ゼロ)を追加するには?
MySQLで数値の先頭に「000」のようなゼロを追加して表示したい場合は、ZEROFILL属性を使用します。ZEROFILLを指定した列では、設定された表示幅に満たない桁数が自動的に0で埋められます。
まず、サンプル用のテーブルを作成しましょう。
mysql> create table DemoTable1913
(
Code int(4) ZEROFILL AUTO_INCREMENT NOT NULL,
PRIMARY KEY(Code)
);
Query OK, 0 rows affected (0.00 sec)ここでは、Code列をint(4)型として定義し、ZEROFILL属性を付けています。これにより、4桁に満たない数値は先頭が0で埋められて表示されるようになります。
次に、INSERTコマンドを使ってテーブルにレコードを挿入します。
mysql> insert into DemoTable1913 values(1); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1913 values(2); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1913 values(3); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1913 values(4); Query OK, 1 row affected (0.00 sec)
SELECT文ですべてのレコードを表示してみましょう。
mysql> select * from DemoTable1913;
実行結果は以下の通りです。
+------+
| Code |
+------+
| 0001 |
| 0002 |
| 0003 |
| 0004 |
+------+
4 rows in set (0.00 sec)
このように、「1」は「0001」、「2」は「0002」というように、指定した表示幅(この例では4桁)に達するまで先頭に0が自動的に追加されて表示されます。
注意点:MySQL 8.0以降での扱い
なお、MySQL 8.0以降では整数型の表示幅指定やZEROFILL属性は非推奨(deprecated)となっています。新規のプロジェクトでは、クエリ側でLPAD関数を使ってゼロ埋めを行う方法も検討するとよいでしょう。
-
MySQLで特定のカラムの値を交換・更新する方法
はじめにMySQLでは、UPDATE文とWHERE句を組み合わせることで、特定の条件に一致する行のカラム値を簡単に変更できます。この記事では、サンプルテーブルを作成し、特定のカラムの値を別の値に置き換える手順を、実際の実行例とともにわかりやすく解説します。テーブルの作成まず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable1504 -> ( -> Id int, -> FirstName
-
MySQLで列(カラム)を分割する方法!SUBSTRING_INDEX関数の使い方を徹底解説
MySQLで列を分割するには?SUBSTRING_INDEX関数の基本MySQLで1つの列に格納された文字列を区切り文字で分割したい場合、SUBSTRING_INDEX()関数を使用します。この記事では、アンダースコア(_)で区切られた氏名データを分割する具体例を通じて、その使い方をわかりやすく解説します。1. サンプルテーブルの作成まず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable -> ( -> Name varchar(40) -> );Query OK, 0 rows affected (1.