在没有数据库记录的情况下选择默认值
当数据库表中不存在指定的数字时,提供的 SQL 语句将失败。本文提出了一种解决方案,将查询封装在子查询中,以便在这种情况下分配默认值 NULL。
封装查询
封装原始查询在子查询中,有效地将不存在结果的情况转换为 NULL 值。这种方法与各种数据库管理系统兼容,包括:
实现
PostgreSQL、SQLite、SQL Server 和MySQL
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id;
Oracle(从 DUAL 使用表)
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM DUAL;
Firebird
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM RDB$DATABASE;
DB2
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM SYSIBM.SYSDUMMY1;
通过实施此解决方案,您可以确保您的 SQL 语句优雅地返回默认值 NULL,而不是在执行以下操作时遇到错误:数据库中不存在查询的数据。
以上是如何处理丢失的数据库记录并在 SQL 中返回 NULL 默认值?的详细内容。更多信息请关注PHP中文网其他相关文章!