ホームページ > データベース > mysql チュートリアル > NULL 値によって MySQL CONCAT 結果が損なわれないようにするにはどうすればよいですか?

NULL 値によって MySQL CONCAT 結果が損なわれないようにするにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-05 19:32:41
オリジナル
771 人が閲覧しました

How Can I Prevent NULL Values from Ruining My MySQL CONCAT Results?

MySQL の CONCAT 関数を歪める NULL 値

NULL 値を含むテーブルで CONCAT クエリを実行すると、予期しない結果が生じる可能性があります。この例では、特定のフィールドの NULL 値により、CONCAT 結果全体が NULL になります。

これに対処するには、COALESCE 関数を使用して NULL 値を適切に処理できます。 COALESCE は、評価されるフィールドと、フィールドが NULL の場合に置換される値の 2 つの引数を受け入れます。 COALESCE で NULL の可能性がある各フィールドをラップすることで、NULL 値を空の文字列 ('') に置き換えることができます。

COALESCE が適用された変更されたクエリ:

SELECT CONCAT(COALESCE(`affiliate_name`,''),'-',COALESCE(`model`,''),'-',COALESCE(`ip`,''),'-',COALESCE(`os_type`,''),'-',COALESCE(`os_version`,'')) AS device_name
FROM devices
ログイン後にコピー

このクエリは次の値を返します。 NULL 値を無視し、非 NULL 値を 1 つの文字列に連結した望ましい結果:

cs1-Dell-10.125.103.25-Linux-Fedora
cs2-Dell-10.125.103.26-Linux-Fedora
cs3-Dell-10.125.103.27-
cs4-Dell-10.125.103.28-
ログイン後にコピー

以上がNULL 値によって MySQL CONCAT 結果が損なわれないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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