Kami tahu bahawa jika mana-mana parameter adalah NULL, fungsi CONCAT() akan mengembalikan NULL, tetapi hanya apabila parameter pertama (iaitu, pembatas) adalah NULL, fungsi CONCAT_WS() akan mengembalikan NULL, dan ia akan Mana-mana NULL lain diabaikan. Apabila kita ingin menggabungkan nilai dalam lajur dan nilai mana-mana lajur adalah NULL, kita boleh mengatakan bahawa ini adalah kelebihan fungsi CONCAT_WS() berbanding fungsi CONCAT(). Untuk memahaminya, mari kita pertimbangkan contoh daripada jadual "Nama_Pelajar;" Yang mempunyai data berikut -
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)
Sekarang, katakan kita ingin menggabungkan nilai lajur Fname, Mname dan Lname, outputnya adalah seperti berikut -
mysql> Select CONCAT(Fname,Mname,Lname)AS Name from Student_Name; +---------------+ | Name | +---------------+ | NULL | | NULL | | NULL | | YashPalSharma | +---------------+ 4 rows in set (0.00 sec)
Walau bagaimanapun, jika kita menggunakan fungsi CONCAT_WS(), maka ia akan abaikan NULL seperti dalam pertanyaan berikut Ditunjukkan dalam -
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)
Atas ialah kandungan terperinci Apakah kelebihan fungsi CONCAT_WS() berbanding fungsi CONCAT() apabila kita ingin menggabungkan nilai dalam lajur dan nilai mana-mana lajur adalah NULL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!