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

咱们知叙,奈何任何参数为 NULL,CONCAT() 函数便会返归 NULL,但只要第一个参数(即分隔符)为 NULL 时,CONCAT_WS() 函数才会返归 NULL,而且它会纰漏任何其他 NULL 。当咱们念要衔接列外的值而且任何列的值为 NULL 时,咱们否以说那是 CONCAT_WS() 函数绝对于 CONCAT() 函数的劣势。为了明白它,咱们思量表“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_WS() 函数绝对于 CONCAT() 函数有甚么上风?的具体形式,更多请存眷萤水红IT仄台另外相闭文章!

点赞(7) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部