MySQL: Testen ob Feld Null oder leer ist
Frage von Gast | 10.06.2015 um 19:11
Wie kann ich in MySQL überprüfen, ob ein beliebiges Feld einer Tabelle entweder einen leeren Wert (leeren String) enthält oder auf NULL steht?
Meine Experimente mit IFNULL und ähnlichen Ansätzen hat leider nicht zum Erfolg geführt. Gibt es dabei gegen einen Trick? Was muss ich beachten?
Ähnliche Themen
MySQL: Zeilenumbrüche in MySQL
Tipp | 0 Kommentare
PHP: Formular-Eingaben als Array an PHP Skript schicken
Tipp | 0 Kommentare
Mehrere Texte gleichzeitig ersetzen
Tutorial | 0 Kommentare
MySQL: Suchen und Ersetzen direkt in MySQL
Tipp | 1 Kommentar
MySQL: 3 Wege um Definitionen und Aufbau einer Tabelle anzuzeigen
Info | 0 Kommentare
E-Mails: Was bedeuten TO, CC und BCC und was ist der Unterschied?
Info | 0 Kommentare
MySQL: SELECT 0 statt NULL
Frage | 4 Antworten
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Falls du alle Datensätze einer Tabelle auslesen möchtest, die in einer bestimmten Spalte einen leeren String oder NULL als Wert haben, kannst du folgende Abfrage verwenden:
Mit "IS NULL" kannst du auf NULL prüfen, mit "= ''" auf einen leeren String.
Suchst du alle Datensätze, bei denen das Feld nicht NULL und nicht leer ist, kannst du folgende Abfrage verwenden:
Wenn du das ganze in ein IF packen möchtest, kannst du es zum Beispiel so machen:
Mit dieser Abfrage prüfst du bei jedem Datensatz, ob "col" NULL oder leer ist und jetzt entweder den String "leer" zurück, falls die Bedingung zutreffend ist oder den Inhalt der Spalte falls nicht.
13.06.2015 um 09:25
Folgendes ist effizienter, um leere Felder zu finden:
05.05.2020 um 15:20
Leider NEIN.
Ich habe z.B. eine Abfrage gehabt, in der col>'' und col!='' unterschiedliche Ergebnisse liefern.
Tatsächlich kam es bei mir vor (mysql 5.7 Percona), dass die Bedingung col<'' zutraf !!!
15.09.2020 um 12:01
Du kannst auch die Funktion IFNULL() verwenden:
1. SELECT IFNULL(1,0); -- gibt 1 zurück
2. SELECT IFNULL('',1); -- gibt '' zurück
3. SELECT IFNULL(NULL,'IFNULL function'); -- gibt "IFNULL function" zurück
06.05.2020 um 17:09