Heim > Datenbank > MySQL-Tutorial > 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?

王林
Freigeben: 2023-09-07 11:13:10
nach vorne
959 Leute haben es durchsucht

在 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;
Nach dem Login kopieren

Fall 3 – CASE-Anweisung verwenden

Die Syntax der CASE-Anweisung.

SELECT COALESCE(yourColumnName,’yourValue’) AS anyVariableName from yourTableName;
Nach dem Login kopieren

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
Nach dem Login kopieren
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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

Das Folgende ist die Ausgabe:

mysql> select *from ReplaceNULLDemo;
Nach dem Login kopieren
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)
Nach dem Login kopieren

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;
Nach dem Login kopieren

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)
Nach dem Login kopieren

Die folgende Ausgabe zeigt NULL ersetzt durch 0 -

mysql> select coalesce(Marks,0) as ReplacementOfNULLWith0 from ReplaceNULLDemo;
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage