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

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関数を使ってゼロ埋めを行う方法も検討するとよいでしょう。

  1. MySQLで特定のカラムの値を交換・更新する方法

    はじめにMySQLでは、UPDATE文とWHERE句を組み合わせることで、特定の条件に一致する行のカラム値を簡単に変更できます。この記事では、サンプルテーブルを作成し、特定のカラムの値を別の値に置き換える手順を、実際の実行例とともにわかりやすく解説します。テーブルの作成まず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable1504    -> (    -> Id int,    -> FirstName

  2. MySQLで列(カラム)を分割する方法!SUBSTRING_INDEX関数の使い方を徹底解説

    MySQLで列を分割するには?SUBSTRING_INDEX関数の基本MySQLで1つの列に格納された文字列を区切り文字で分割したい場合、SUBSTRING_INDEX()関数を使用します。この記事では、アンダースコア(_)で区切られた氏名データを分割する具体例を通じて、その使い方をわかりやすく解説します。1. サンプルテーブルの作成まず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable -> ( -> Name varchar(40) -> );Query OK, 0 rows affected (1.