MySQLのZF(ZEROFILL)とは?カラム宣言におけるゼロ埋めの意味と使い方を解説
MySQLにおけるZF(ZEROFILL)の意味
「ZF」とは ZEROFILL の略で、MySQLのカラム宣言において数値の桁数が足りない場合に先頭を0で埋める(ゼロ埋め)ことを指します。この属性を指定すると、定義した表示幅に合わせて自動的に左側へ0が補完されます。
まず、int型のフィールドサイズを10に設定したテーブルを作成してみましょう。
mysql> create table DemoTable1332 -> ( -> Number int(10) ZEROFILL NOT NULL DEFAULT 0 -> ); Query OK, 0 rows affected (0.59 sec)
レコードの挿入
次に、insertコマンドを使ってテーブルにいくつかのレコードを挿入します。
mysql> insert into DemoTable1332 values(); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable1332 values(1); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable1332 values(10); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable1332 values(100); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable1332 values(554646); Query OK, 1 row affected (0.09 sec)
レコードの表示
select文を使用して、テーブル内のすべてのレコードを表示します。
mysql> select * from DemoTable1332;
実行結果は以下の通りです。フィールドサイズ10に満たない数値にはゼロ埋めが適用され、たとえば549は「0000000549」のように表示されます。
+------------+ | Number | +------------+ | 0000000000 | | 0000000001 | | 0000000010 | | 0000000100 | | 0000554646 | +------------+ 5 rows in set (0.00 sec)
まとめ
ZEROFILL属性を付けると、指定した表示幅(この例では10桁)に満たない数値の先頭が自動的に0で埋められ、常に固定桁数で値を表示できるようになります。会員番号や伝票番号など、桁数を揃えたいデータを扱う場合に便利です。なお、ZEROFILLを指定したカラムには暗黙的にUNSIGNED属性も適用される点に注意してください。
-
MySQLでNULLの行にデフォルト値を設定する方法|COALESCE()関数の使い方
MySQLでNULL(空)の行に対してデフォルト値を表示・設定したい場合は、COALESCE()関数を活用するのが効果的です。COALESCE()は引数の中から最初にNULL以外の値を返す関数で、これによりNULL値を任意のデフォルト値に置き換えることができます。サンプルテーブルの作成まず、デモ用のテーブルを作成しましょう。mysql> create table DemoTable1863 ( FirstName varchar(20) ); Query OK, 0 rows affected (0.00 sec)レコードの挿入INSERTコマンドを使用して、いく
-
MySQLでNULL値を1として表示・更新する方法
MySQLでは、テーブル内のNULL値を別の値(たとえば「1」)に置き換えて扱いたい場面があります。この記事では、IFNULL関数とUPDATE文を組み合わせて、NULL値を1に変換する具体的な手順をサンプルコード付きで解説します。 1. サンプルテーブルを作成する まず、動作確認用のテーブルを作成します。 mysql> create table DemoTable1963 ( Counter int ); Query OK, 0 rows affected (0.00 sec) 2. レコードを挿入する INSERT文を使って、NULLを含む複数のレコードを