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

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

WBOY
リリース: 2023-06-01 23:29:02
転載
3768 人が閲覧しました

プロジェクトのクエリは 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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート