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

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コマンドを使用して、いくつかのレコードを挿入します。ここでは意図的にNULL値も含めています。

mysql> insert into DemoTable1863 values('Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1863 values(NULL);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1863 values('David');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1863 values(NULL);
Query OK, 1 row affected (0.00 sec)

テーブルの内容を確認する

SELECT文でテーブル内のすべてのレコードを表示してみます。

mysql> select * from DemoTable1863;

実行結果は以下の通りです。

+-----------+
| FirstName |
+-----------+
| Chris     |
| NULL      |
| David     |
| NULL      |
+-----------+
4 rows in set (0.00 sec)

COALESCE()でデフォルト値を設定する

NULLの行にデフォルト値を設定して表示するには、以下のようなクエリを実行します。

mysql> select coalesce(FirstName,'UNKNOWN NAME') from DemoTable1863;

実行結果:

+------------------------------------+
| coalesce(FirstName,'UNKNOWN NAME') |
+------------------------------------+
| Chris                              |
| UNKNOWN NAME                       |
| David                              |
| UNKNOWN NAME                       |
+------------------------------------+
4 rows in set (0.00 sec)

ポイント解説

COALESCE(FirstName, 'UNKNOWN NAME')は、FirstNameがNULLでなければその値をそのまま返し、NULLであれば「UNKNOWN NAME」を返します。このようにCOALESCE()を使えば、テーブル内の実際のデータを変更することなく、取得時のみNULLを別の値に置き換えて表示できます。

なお、テーブル自体にあらかじめデフォルト値を持たせたい場合は、CREATE TABLE時にDEFAULT 'UNKNOWN NAME'のように指定する方法もあります。用途に応じて使い分けるとよいでしょう。

  1. JavaScript関数のデフォルトパラメータの設定方法をわかりやすく解説

    JavaScriptでは、関数のパラメータにデフォルト値(初期値)を簡単に設定できます。これにより、引数が渡されなかった場合やundefinedが渡された場合に、あらかじめ指定しておいた値が自動的に使用されます。デフォルトパラメータの基本デフォルトパラメータは、関数を定義する際にパラメータ名の後に「=(イコール)」を使ってデフォルト値を記述するだけで設定できます。書式は以下のとおりです。function 関数名(パラメータ1, パラメータ2 = デフォルト値) {  // 処理}この機能を活用すると、引数の省略時の動作を明確に定義でき、コードの可読性と安全性が向上します。サ

  2. 【HTML入門】select要素のドロップダウンリストにデフォルト値(初期選択)を設定する方法

    HTMLでは、<select>要素を使うことで、フォーム内に簡単なドロップダウンリスト(セレクトボックス)を作成し、ユーザーに入力してもらうことができます。セレクトボックスは「プルダウンメニュー」とも呼ばれ、複数の選択肢を一覧形式で表示できる便利な部品です。さらに、このドロップダウンリストにはデフォルト値(初期状態で選択されている項目)を設定することも可能です。方法はとてもシンプルで、あらかじめ選択しておきたい項目の<option>タグに selected属性 を追加するだけです。selected属性の基本的な使い方以下のように、初期表示したい選択肢にselectedを