ホームページ >データベース >mysql チュートリアル >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
直接実行すると、エラーが報告されます: エラー コード: 1582SELECT * FROM business WHERE business_name IS NOT NULL
したがって、 は null( )
関数は mysql にありますが、機能しません。代わりに ifnull()
と coalesce()
を使用できます。次のように:
ifnull()
関数を使用します: 🎜rrreee🎜 実行結果: 🎜🎜🎜🎜🎜🎜query 🎜の値がnull以外の場合: 🎜rrreee🎜結果は以下の通り: 🎜🎜🎜🎜🎜🎜coalesce()
関数を使用します: 🎜rrreee🎜結果は次のとおりです: 🎜🎜🎜 🎜🎜🎜クエリ値が null でない場合: 🎜rrreee🎜🎜🎜🎜🎜🎜そのうち: coalesce()
は最初の値を返すこともできますnull ではない値。以下の通り: 🎜rrreee🎜🎜🎜🎜🎜🎜その後、 isnull()mysql で使用するにはどうすればよいですか?答えは、where の後に使用することです。以下の通り: 🎜rrreee🎜結果は以下の通り: 🎜🎜🎜🎜🎜 🎜同様に、 is null
と is not null
も where の後に使用されます。 🎜rrreee🎜結果は以下の通りです: 🎜🎜🎜🎜🎜rrreee🎜🎜🎜🎜🎜🎜まとめ🎜🎜🎜以上がmysql_Mysql の null を置き換える IFNULL() 関数と COALESCE() 関数の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。