MySQL @Wiki 実用リファレンス

IFNULL

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可


IFNULL

IFNULL(expr1,expr2)
expr1 が NULL でない場合は expr1 を返し、それ以外の場合は expr2 を返す。IFNULL() は、使用されているコンテキストに応じて、数値または文字列を返す。


mysql> [[SELECT]] IFNULL(1,0);
        -> 1
mysql> SELECT IFNULL(NULL,10);
        -> 10
mysql> SELECT IFNULL(1/0,10);
        -> 10
mysql> SELECT IFNULL(1/0,'yes');
        -> 'yes'

MySQL 4.0.6 以降では、IFNULL(expr1,expr2) のデフォルトの結果値は、2 つの式のより ``一般的'' な方(STRING、REAL または INTEGER の順)になる。それ以前の MySQL バージョンとの違いは、式に基づくテーブルの作成時や、IFNULL() から得られた値を MySQL で内部的にテンポラリテーブルに格納する必要があるときに最も顕著である。

CREATE TABLE foo SELECT IFNULL(1,"test") as test;

MySQL 4.0.6 では、カラム 'テスト' の型は CHAR(4) だが、それ以前のバージョンでは、BIGINT。



記事メニュー
ウィキ募集バナー