Heim >Datenbank >MySQL-Tutorial >Wie kann ein Wert (NULL) zurückgegeben werden, wenn in einer Datenbankabfrage kein Datensatz gefunden wird?

Wie kann ein Wert (NULL) zurückgegeben werden, wenn in einer Datenbankabfrage kein Datensatz gefunden wird?

Barbara Streisand
Barbara StreisandOriginal
2025-01-05 14:53:45812Durchsuche

How to Return a Value (NULL) When No Record is Found in a Database Query?

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!

Stellungnahme:
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