Einen Wert zurückgeben, wenn kein Datensatz gefunden wird
Das Auftreten eines Fehlers „Keine Zeile“ kann frustrierend sein, wenn ein bestimmter Datensatz nicht vorhanden ist eine Datenbanktabelle. Um dieses Problem zu beheben, ist es möglich, die Abfrage so zu ändern, dass sie einen Nullwert anstelle eines Fehlers zurückgibt.
Lösung
Der effektivste Ansatz besteht darin, die ursprüngliche Abfrage darin zu kapseln eine Unterabfrage. Dadurch wird die Bedingung „keine Zeile“ in einen Nullwert umgewandelt. Diese Lösung wurde erfolgreich auf PostgreSQL, SQLite, SQL Server und MySQL getestet.
Beispielcode
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id;
Diese Abfrage ruft den ID-Wert des Datensatzes ab existiert, oder NULL zurückgeben, wenn es nicht gefunden wird.
Zusätzlich Hinweise
In Oracle können Sie aus der einzeiligen Dummy-Tabelle DUAL auswählen, um das gleiche Ergebnis zu erzielen:
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM DUAL;
Verwenden Sie für DB2 diese Syntax:
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM SYSIBM.SYSDUMMY1;
Firebird-Benutzer können diese Lösung verwenden:
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM RDB$DATABASE;
Diese Technik behebt effektiv das Problem der Rückgabe eines Nullwerts Wenn kein Datensatz gefunden wird, stellen wir sicher, dass Abfragen auch dann reibungslos ablaufen, wenn bestimmte Daten fehlen.
Das obige ist der detaillierte Inhalt vonWie kann ein Wert (NULL) zurückgegeben werden, wenn in einer Datenbankabfrage kein Datensatz gefunden wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!