ホームページ >データベース >mysql チュートリアル >MySQL で CONCAT() 関数を連結する際の NULL 問題を解決する方法

MySQL で CONCAT() 関数を連結する際の NULL 問題を解決する方法

WBOY
WBOY転載
2023-06-01 23:29:023783ブラウズ

プロジェクトのクエリは concat() スプライシング関数を使用しています。このクエリでは、スプライスされたフィールドは null です。スプライシング結果は null で、null ポインタ例外がアプリケーション層で報告されます。

SELECT CONCAT('1,',NULL,'2') result;

MySQL で CONCAT() 関数を連結する際の NULL 問題を解決する方法

SELECT CONCAT('1,','','2') result;

MySQL で CONCAT() 関数を連結する際の NULL 問題を解決する方法

CONCAT() 関数が接続された部分で NULL で接続されている場合、実践を通じて証明されています。パラメータを指定すると、結果は NULL になります。

次の方法を使用して問題を解決します。

方法 1: IFNULL 関数を使用して、NULL の場合は空の文字列に設定します。

SELECT CONCAT('1,',IFNULL(NULL,''),'2') result;

MySQL で CONCAT() 関数を連結する際の NULL 問題を解決する方法

方法 2: CONCAT_WS 関数を使用します。文字列の連結を区切り文字で指定します

SELECT CONCAT_WS(',','1',NULL,'2') result;

カンマで区切って指定します

MySQL で CONCAT() 関数を連結する際の NULL 問題を解決する方法

##CONCAT_WS(区切り文字, パラメータ 1, パラメータ 2, ... パラメータ n)および CONCAT (パラメータ 1、パラメータ 2、...パラメータ n)

2 つの関数の違い:

CONCAT_WS() : との連結を示します。区切り文字、つまり区切り文字と文字列の接続

CONCAT(): 文字列の連結を示します

最も重要な 2 つの違いは、CONCAT() 関数、スプライシングです パラメータに NULL がある場合、直接はNULL

が返されますが、CONCAT_WS()関数を実行するとNULL値のためNULL

は返されません。

以上がMySQL で CONCAT() 関数を連結する際の NULL 問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。