レコードが見つからない場合は値を返す
特定のレコードが存在しない場合に「行がありません」エラーが発生するとイライラすることがありますデータベーステーブル。これを解決するには、エラーの代わりに null 値を返すようにクエリを変更できます。
解決策
最も効果的なアプローチは、最初のクエリを次のようにカプセル化することです。サブクエリ。これにより、「行なし」状態が NULL 値に変換されます。このソリューションは、PostgreSQL、SQLite、SQL Server、および MySQL で正常にテストされています。
サンプル コード
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id;
このクエリは、レコードが次の場合に ID 値を取得します。存在するか、見つからない場合は NULL を返します。
追加注
Oracle では、ダミーの 1 行テーブル DUAL から選択して同じ結果を得ることができます:
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM DUAL;
DB2 の場合は、次の構文を使用します:
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM SYSIBM.SYSDUMMY1;
Firebird ユーザーは次のソリューションを使用できます:
SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM RDB$DATABASE;
この手法レコードが見つからない場合に null 値を返す問題を効果的に処理し、特定のデータがない場合でもクエリがスムーズに実行されるようにします。
以上がデータベース クエリでレコードが見つからない場合に値 (NULL) を返す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。