ホームページ >データベース >mysql チュートリアル >データベース クエリで一致するレコードが見つからない場合に、エラーの代わりに NULL を返すにはどうすればよいですか?

データベース クエリで一致するレコードが見つからない場合に、エラーの代わりに NULL を返すにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-05 09:58:42550ブラウズ

How Can I Return NULL Instead of an Error When a Database Query Finds No Matching Record?

データベース レコードの Null 値の処理

データベースをクエリするとき、特定の基準を持つレコードが存在しない状況がよく発生します。デフォルトでは、一致するレコードが見つからない場合、ほとんどのデータベースはエラーを返します。ただし、多くの場合、代わりに null 値を返すことが望ましいです。

次のクエリ例を考えてみましょう:

SELECT idnumber FROM dbo.database WHERE number = '9823474'

指定された数値がテーブルに存在しない場合、クエリは失敗します。代わりに null を返すには、次のようにサブクエリを利用します。

SELECT (SELECT idnumber FROM dbo.database WHERE number = '9823474') AS idnumber;

これにより、元のクエリがサブクエリ内にカプセル化され、「行なし」を null 値として扱うことができます。この手法は、PostgreSQL、SQLite、SQL Server、MySQL、Oracle、Firebird、DB2、SQLite などのさまざまなデータベースでテストおよび検証されています。

Oracle では、構文はダミーの 1 行テーブルから選択する必要があります。 DUAL:

SELECT (SELECT idnumber FROM dbo.database WHERE number = '9823474') AS idnumber FROM DUAL;

MySQL と Firebird では、RDB$DATABASE またはそれぞれ SYSIBM.SYSDUMMY1。

このソリューションは、データベース クエリで null 値を処理するためのシンプルで一貫した方法を提供し、コードが有効なレコードと存在しないレコードの両方を適切に処理できるようにします。

以上がデータベース クエリで一致するレコードが見つからない場合に、エラーの代わりに NULL を返すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。