ホームページ > データベース > mysql チュートリアル > mysql で null を置き換える IFNULL() 関数と COALESCE() 関数の詳細な説明

mysql で null を置き換える IFNULL() 関数と COALESCE() 関数の詳細な説明

黄舟
リリース: 2017-06-18 10:52:34
オリジナル
1768 人が閲覧しました

この記事では、nullを置き換えるmysqlのIFNULL()とCOALESCE()の関連情報をサンプルコードを通して詳しく紹介していますので、参考になると思います。学習の価値をすべての人に。困っている友人の皆さん、ぜひ下記をご覧ください。

MySQL では、isnull() 関数を null 値の置換として使用することはできません。

isnull()函数不能作为替代null值!

如下:

首先有个名字为business的表:


SELECT ISNULL(business_name,'no business_name') AS bus_isnull FROM business WHERE id=2
ログイン後にコピー

直接运行就会报错:

错误代码: 1582


Incorrect parameter count in the call to native function 'isnull'
ログイン後にコピー

所以,isnull()函数在mysql中就行不通了。可以用ifnull()coalesce()代替。如下:

使用ifnull()函数:


SELECT IFNULL(business_name,'no business_name') AS bus_ifnull FROM business WHERE id=2
ログイン後にコピー

运行结果:


查询的值不为null时:


SELECT IFNULL(business_name,'no business_name') AS bus_ifnull FROM business WHERE id=1
ログイン後にコピー

结果如下:


使用coalesce()函数:


SELECT COALESCE(business_name,'no business_name') AS bus_coalesce FROM business WHERE id=2
ログイン後にコピー

结果如下:


当查询值不为null时:


SELECT COALESCE(business_name,'no business_name') AS bus_coalesce FROM business WHERE id=1
ログイン後にコピー

其中:coalesce()还可以返回第一个不为null的值。如下:


SELECT COALESCE(business_name,district_id,id) AS bus_coalesce FROM business WHERE id=2
ログイン後にコピー

那么,isnull()在mysql中怎么用呢?答案就是用在where后面。如下:


SELECT * FROM business WHERE ISNULL(business_name)
ログイン後にコピー

结果如下:


同样,is null is not null

は次のとおりです:


まず、business という名前のテーブルがあります:


SELECT * FROM business WHERE business_name IS NULL
ログイン後にコピー

直接実行すると、エラーが報告されます:

エラーコード: 1582

SELECT * FROM business WHERE business_name IS NOT NULL
ログイン後にコピー
したがって、isnull() code> 関数は mysql では機能しません。代わりに <code>ifnull()coalesce() を使用できます。次のように: 🎜 ifnull() 関数を使用します: 🎜🎜🎜🎜rrreee🎜 実行結果: 🎜🎜🎜🎜🎜🎜ときクエリ 🎜 の値が null でない場合: 🎜🎜🎜🎜rrreee🎜 結果は次のようになります: 🎜🎜🎜 alt="" src="https:/ /img.php.cn/upload/article/000/000/194/d349f725ed893303ec7cfecaa6913794-3.jpg"/> 🎜🎜🎜クエリ値が null でない場合: 🎜🎜🎜🎜 rrreee🎜🎜🎜その中には: coalesce() は、値が null ではない最初の値を返すこともできます。以下の通り: 🎜🎜🎜🎜rrreee🎜🎜🎜その後、 isnull()mysql で使用するにはどうすればよいですか?答えは、where の後に使用することです。以下の通り: 🎜🎜🎜🎜rrreee🎜結果は以下の通り: 🎜🎜🎜🎜🎜🎜同様に、 is null is not null も where の後に使用されます。 🎜🎜🎜🎜rrreee🎜結果は以下の通りです: 🎜🎜🎜🎜🎜🎜🎜🎜rrreee🎜🎜🎜🎜🎜🎜まとめ🎜🎜🎜

以上がmysql で null を置き換える IFNULL() 関数と COALESCE() 関数の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート