mysql löst das Problem, Datensätze zu finden, bei denen zwei oder mehr Felder NULL sind

mysql löst das Problem, Datensätze zu finden, bei denen zwei oder mehr Felder NULL sind

Kerncode

/*--------------------------------
Suchen Sie nach Datensätzen t1, bei denen zwei oder mehr Felder NULL sind:
ID, ID1, ID2, ID3, ID4, ID5, ID6
In der t1-Tabelle gibt es ein Feld;
Wobei ID der Primärschlüssel ist;
Wie drucke ich die Datensatz-IDs, wenn ein oder mehrere Felder NULL sind?
Und was ist die bequemste Möglichkeit, Datensätze während des Speichervorgangs nacheinander einzeln zu lesen?
Hinweis: Die Primärschlüssel-ID hat keine Reihenfolge und kann auch eine Zeichenfolge sein.
-----------------------------------------*/
Tabelle löschen, falls vorhanden, t1;
Tabelle erstellen t1(id int,id1 int,id2 int,id3 int,id4 int,id5 int,id6 int);
Einfügen t1 auswählen
1,1,1,1,1,null,null Vereinigung alle auswählen 
2,null,null,null,1,2,3 Union alle auswählen 
3,1,2,3,4,5,6 Union alle auswählen 
4,1,2,3,4,5,null Union alle auswählen 
5,null,3,4,null,null,null;
Trennzeichen $$
Prozedur usp_c_null() erstellen
beginnen 
Deklariere n_c int;
deklariere idd int;
deklarieren Sie den Cursor für 
ID auswählen, Fall char_length(concat(ifnull(id1,'@'),ifnull(id2,'@'),ifnull(id3,'@'),ifnull(id4,'@'),ifnull(id5,'@'),ifnull(id6,'@')))
- char_length (ersetzen (concat (wenn null (id1, '@'), wenn null (id2, '@'), wenn null (id3, '@'), wenn null (id4, '@'), wenn null (id5, '@'), wenn null (id6, '@')), '@', ''))
 wenn 6, dann 6, wenn 5, dann 5, wenn 4, dann 4, wenn 3, dann 3, wenn 2, dann 2, wenn 1, dann 1 sonst 0, Ende als c von t1;
Deklarieren Sie den Exit-HANDLER für „nicht gefundenes close cur“;
offenes Köcher;
wiederholen 
hole cur in idd,n_c;
wenn(n_c>=2) dann
wählen Sie * aus t1, wobei id=idd;
Ende, wenn;
bis 0 Ende wiederholen;
enger Köter;
Ende ;
$$
Trennzeichen ;
/*
+------+------+------+------+------+------+------+------+
| ID | ID1 | ID2 | ID3 | ID4 | ID5 | ID6 |
+------+------+------+------+------+------+------+------+
| 1 | 1 | 1 | 1 | 1 | NULL | NULL |
+------+------+------+------+------+------+------+------+
1 Zeile im Satz (0,10 Sek.)
+------+------+------+------+------+------+------+------+
| ID | ID1 | ID2 | ID3 | ID4 | ID5 | ID6 |
+------+------+------+------+------+------+------+------+
| 2 | NULL | NULL | NULL | 1 | 2 | 3 |
+------+------+------+------+------+------+------+------+
1 Zeile im Satz (0,14 Sek.)
+------+------+------+------+------+------+------+------+
| ID | ID1 | ID2 | ID3 | ID4 | ID5 | ID6 |
+------+------+------+------+------+------+------+------+
| 5 | NULL | 3 | 4 | NULL | NULL | NULL |
+------+------+------+------+------+------+------+------+
1 Zeile im Satz (0,17 Sek.)
*/

Das könnte Sie auch interessieren:
  • Warum sollten MySQL-Felder NOT NULL verwenden?
  • Sollten nullbare Felder in MySQL auf NULL oder NOT NULL gesetzt werden?
  • MySQL-Abfrage für leere oder nicht leere Felder (ist null und nicht null)
  • Analyse der Gründe, warum MySQL-Felddefinitionen nicht null verwenden sollten

<<:  Detaillierte Erklärung der For-Schleife und der doppelten For-Schleife in JavaScript

>>:  Detaillierte Erklärung gängiger Docker Compose-Befehle

Artikel empfehlen

Vue nutzt Amap zur Realisierung der Stadtpositionierung

In diesem Artikel wird der spezifische Code von V...

So verwenden Sie das Marquee-Tag im XHTML-Code

Im Forum habe ich gesehen, dass der Internetnutzer...

Linux-Dateisysteme erklärt: ext4 und darüber hinaus

Heute werde ich Sie durch die Geschichte von ext4...

Fähigkeiten zur Seiten-Refaktorierung - Inhalt

Genug des Smalltalks <br />Basierend auf de...

Detaillierte Erklärung zur Verwendung von Join in Mysql

In den vorherigen Kapiteln haben wir gelernt, wie...

Probleme und Erfahrungen bei der Webentwicklung

<br />Nachfolgend sind die Probleme aufgefüh...

Beispiel für den Import von Nginx-Protokollen in Elasticsearch

Die Nginx-Protokolle werden von Filebeat gesammel...

Detaillierte Erklärung der jQuery-Kettenaufrufe

Inhaltsverzeichnis Kettenanrufe Ein kleiner Koffe...

So stellen Sie MySQL so ein, dass die Groß-/Kleinschreibung nicht beachtet wird

MySQL auf Groß-/Kleinschreibung eingestellt Windo...

Implementierung des React Page Turner (inkl. Front- und Backend)

Inhaltsverzeichnis Frontend Entwerfen und schreib...

Eine kurze Erläuterung des CSS-Überlaufmechanismus

Warum müssen Sie sich eingehend mit dem CSS-Überl...

Detaillierte Einführung in CSS-Schrift-, Text- und Listeneigenschaften

1. Schrifteigenschaften Farbe, gibt die Farbe des...