MySQLチュートリアル

MySQLホーム MySQLイントロ MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WHERE MySQL AND、OR、NOT MySQL ORDER BY MySQL INSERT INTO MySQLNULL値 MySQL UPDATE MySQLDELETE MySQL LIMIT MySQLMINおよびMAX MySQL COUNT、AVG、SUM MySQL LIKE MySQLワイルドカード MySQL IN MySQL BETWEEN MySQLエイリアス MySQLが参加します MySQL内部結合 MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN MySQL自己結合 MySQL UNION MySQL GROUP BY MySQL HAVING MySQLが存在します MySQL ANY、ALL MySQL INSERT SELECT MySQLケース MySQLヌル関数 MySQLコメント MySQL演算子

MySQLデータベース

MySQL Create DB MySQLドロップDB MySQLテーブルの作成 MySQLドロップテーブル MySQL ALTER TABLE MySQLの制約 MySQLはNullではありません MySQLユニーク MySQLプライマリキー MySQL外部キー MySQLチェック MySQLのデフォルト MySQL CreateIndex MySQL自動インクリメント MySQLの日付 MySQLビュー

MySQLリファレンス

MySQLデータ型 MySQL関数

MySQLの

MySQLの例 MySQLクイズ MySQL演習

MySQLNULL関数_


MySQL IFNULL()およびCOALESCE()関数

次の「製品」の表を見てください。

P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder
1 Jarlsberg 10.45 16 15
2 Mascarpone 32.56 23  
3 Gorgonzola 15.67 9 20

「UnitsOnOrder」列はオプションであり、NULL値が含まれている可能性があるとします。

次のSELECTステートメントを見てください。

SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder)
FROM Products;

上記の例では、「UnitsOnOrder」値のいずれかがNULLの場合、結果はNULLになります。


MySQL IFNULL()関数

MySQLIFNULL()関数を使用すると、式がNULLの場合に代替値を返すことができます。

以下の例では、値がNULLの場合に0を返します。

SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;

MySQL COALESCE()関数

または、次のような関数を使用できます。 COALESCE()

SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;