Heim >Datenbank >MySQL-Tutorial >Wie können wir die Eigenschaft der CONCAT()-Funktion überwinden, dass sie NULL zurückgibt, wenn eines der Argumente NULL ist, insbesondere wenn wir die Werte in Spalten verketten möchten und der Wert einer Spalte NULL ist?

Wie können wir die Eigenschaft der CONCAT()-Funktion überwinden, dass sie NULL zurückgibt, wenn eines der Argumente NULL ist, insbesondere wenn wir die Werte in Spalten verketten möchten und der Wert einer Spalte NULL ist?

王林
王林nach vorne
2023-09-07 10:49:021140Durchsuche

我们如何克服 CONCAT() 函数的属性,即如果任何一个参数为 NULL,它就会返回 NULL,特别是当我们想要连接列中的值并且任何列的值都为 NULL 时?

Die oben genannten Eigenschaften sind von geringem Nutzen, insbesondere wenn wir die Werte in Spalten verketten möchten und der Wert einer Spalte NULL ist. Um dieses Problem zu lösen, können wir die Funktionen IFNULL() und CONCAT() verwenden. Um es zu verstehen, betrachten wir das Beispiel aus der Tabelle „Student_name;“ Das hat die folgenden Daten:

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)

Nehmen wir nun an, wenn wir die Werte der Spalten Fname, Mname und Lname verketten möchten, lautet die Ausgabe wie folgt:

mysql> Select CONCAT(Fname,Mname,Lname)AS Name from Student_Name;
+---------------+
| Name          |
+---------------+
| NULL          |
| NULL          |
| NULL          |
| YashPalSharma |
+---------------+
4 rows in set (0.00 sec)

Wir wissen jedoch, dass dies keine nützliche Ausgabe ist, weil Die Eigenschaften der CONCAT()-Funktion lauten: Wenn ein Parameter NULL ist, wird NULL zurückgegeben. Wir können diese Eigenschaft mit Hilfe der Funktion IFNULL() überwinden, wie in der folgenden Abfrage gezeigt -

mysql> Select CONCAT(IFNULL(Fname,''),IFNULL(Mname,''),IFNULL(Lname,''))AS Name from Student_Name;
+----------------+
| Name           |
+----------------+
| RahulSingh     |
| GauravKumar    |
| HarshitKhurana |
| YashPalSharma  |
+----------------+
4 rows in set (0.06 sec)

Das obige ist der detaillierte Inhalt vonWie können wir die Eigenschaft der CONCAT()-Funktion überwinden, dass sie NULL zurückgibt, wenn eines der Argumente NULL ist, insbesondere wenn wir die Werte in Spalten verketten möchten und der Wert einer Spalte NULL ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen