ホームページ >データベース >mysql チュートリアル >mysql で null を置き換える IFNULL() 関数と COALESCE() 関数の詳細な説明
この記事では、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
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 サイトの他の関連記事を参照してください。