列内の値を連結する必要があり、いずれかの列の値が NULL である場合、CONCAT() 関数と比較した CONCAT_WS() 関数の利点は何ですか?

PHPz
リリース: 2023-09-05 16:57:13
転載
953 人が閲覧しました

当我们想要连接列中的值并且任何列的值为 NULL 时,CONCAT_WS() 函数相对于 CONCAT() 函数有什么优势?

いずれかのパラメータが NULL の場合、CONCAT() 関数は NULL を返すことがわかっていますが、最初のパラメータ (つまり区切り文字) が NULL の場合に限り、CONCAT_WS( ) 関数は NULL を返し、その他の NULL は無視されます。列内の値を連結する必要があり、いずれかの列の値が NULL である場合、これが CONCAT() 関数に対する CONCAT_WS() 関数の利点であると言えます。それを理解するために、テーブル「Student_name;」の例を考えてみましょう。その中には次のデータがあります-

mysql> Select * from Student_Name;
+---------+-------+---------+
| FName   | Mname | Lname   |
+---------+-------+---------+
| Rahul   | NULL  | Singh   |
| Gaurav  | Kumar | NULL    |
| Harshit | NULL  | Khurana |
| Yash    | Pal   | Sharma  |
+---------+-------+---------+
4 rows in set (0.00 sec)
ログイン後にコピー

ここで、Fname、Mname、および Lname 列の値を連結したいとします。出力は次のようになります-

mysql> Select CONCAT(Fname,Mname,Lname)AS Name from Student_Name;
+---------------+
| Name          |
+---------------+
| NULL          |
| NULL          |
| NULL          |
| YashPalSharma |
+---------------+
4 rows in set (0.00 sec)
ログイン後にコピー

しかし、 CONCAT_WS() 関数を使用すると、次のクエリに示すように NULL が無視されます -

mysql> Select CONCAT_WS(' ',Fname,Mname,Lname)AS Name from student_name;
+-----------------+
| Name            |
+-----------------+
| Rahul Singh     |
| Gaurav Kumar    |
| Harshit Khurana |
| Yash Pal Sharma |
+-----------------+
4 rows in set (0.00 sec)
ログイン後にコピー

以上が列内の値を連結する必要があり、いずれかの列の値が NULL である場合、CONCAT() 関数と比較した CONCAT_WS() 関数の利点は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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