Heim  >  Artikel  >  Datenbank  >  Welche verschiedenen Möglichkeiten gibt es, Nullwerte mithilfe einer SELECT-Anweisung in MySQL zu ersetzen?

Welche verschiedenen Möglichkeiten gibt es, Nullwerte mithilfe einer SELECT-Anweisung in MySQL zu ersetzen?

王林
王林nach vorne
2023-09-07 11:13:10923Durchsuche

在 MySQL 中使用 SELECT 语句替换空值有哪些不同的方法?

Es gibt viele Möglichkeiten, NULL-Werte mithilfe von Select-Anweisungen zu ersetzen. Sie können die CASE-Anweisung oder IFNULL() oder COALESCE() verwenden. Fall 1: Verwenden Sie IFNULL () ) Die Syntax von lautet wie folgt:

SELECT IFNULL(yourColumnName,’yourValue’) AS anyVariableName from yourTableName;

Fall 3 – CASE-Anweisung verwenden

Die Syntax der CASE-Anweisung.

SELECT COALESCE(yourColumnName,’yourValue’) AS anyVariableName from yourTableName;

Um zu verstehen, was wir oben besprochen haben, erstellen wir eine Tabelle. Die Abfrage zum Erstellen der Tabelle lautet wie folgt:

SELECT CASE
WHEN yourColumnName IS NULL THEN ‘yourValue’
ELSE yourColumnName END AS anyVariableName FROM yourTableName
Verwenden Sie den Befehl insert, um einige Datensätze in die Tabelle einzufügen. Die Abfrage lautet wie folgt:

mysql> create table ReplaceNULLDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(10),
   -> Marks int,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.62 sec)

Verwenden Sie die SELECT-Anweisung, um alle Datensätze in der Tabelle anzuzeigen. Die Abfrage lautet wie folgt:

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Larry',90);
Query OK, 1 row affected (0.16 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Carol',NULL);
Query OK, 1 row affected (0.17 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('David',NULL);
Query OK, 1 row affected (0.14 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Bob',67);
Query OK, 1 row affected (0.17 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Sam',78);
Query OK, 1 row affected (0.19 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Mike',NULL);
Query OK, 1 row affected (0.19 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('John',98);
Query OK, 1 row affected (0.16 sec)

Das Folgende ist die Ausgabe:

mysql> select *from ReplaceNULLDemo;
Jetzt wandeln wir den NULL-Wert in 0 um.

case 1

- Abfragen Sie mit ifnull ()

wie folgt -

+----+-------+-------+
| Id | Name  | Marks |
+----+-------+-------+
|  1 | Larry |    90 |
|  2 | Carol |  NULL |
|  3 | David |  NULL |
|  4 | Bob   |    67 |
|  5 | Sam   |    78 |
|  6 | Mike  |  NULL |
|  7 | John  |    98 |
+----+-------+-------+
7 rows in set (0.00 sec)

unten finden Sie die Ausgabe, die NULL zeigt

Unten sehen Sie die Ausgabe, in der NULL durch 0 ersetzt wird -

mysql> select ifnull(Marks,0) as ReplacementOfNULLWith0 from ReplaceNULLDemo;

Fall 3

– unter Verwendung der CASE-Anweisung.

Die Abfrage lautet wie folgt -

+------------------------+
| ReplacementOfNULLWith0 |
+------------------------+
|                     90 |
|                      0 |
|                      0 |
|                     67 |
|                     78 |
|                      0 |
|                     98 |
+------------------------+
7 rows in set (0.00 sec)

Die folgende Ausgabe zeigt NULL ersetzt durch 0 -

mysql> select coalesce(Marks,0) as ReplacementOfNULLWith0 from ReplaceNULLDemo;

Das obige ist der detaillierte Inhalt vonWelche verschiedenen Möglichkeiten gibt es, Nullwerte mithilfe einer SELECT-Anweisung in MySQL zu ersetzen?. 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