Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengembalikan NULL Daripada Ralat Baris Tidak Ditemui dalam Pertanyaan SQL?

Bagaimanakah Saya Boleh Mengembalikan NULL Daripada Ralat Baris Tidak Ditemui dalam Pertanyaan SQL?

Barbara Streisand
Lepaskan: 2025-01-05 14:17:39
asal
901 orang telah melayarinya

How Can I Return NULL Instead of a Row-Not-Found Error in SQL Queries?

Mengembalikan NULL Apabila Tiada Rekod Ditemui

Apabila menggunakan SQL untuk mendapatkan semula data daripada pangkalan data, adalah perkara biasa untuk menghadapi situasi di mana rekod yang dikehendaki mungkin tidak wujud. Secara lalai, situasi sedemikian mengakibatkan ralat baris tidak ditemui. Walau bagaimanapun, terdapat cara untuk mengendalikan perkara ini dan sebaliknya mengembalikan nilai tertentu.

Pengenkapsulan Subkueri

Kaedah yang mudah tetapi berkesan untuk mengembalikan nilai nol apabila tiada rekod ditemui adalah untuk merangkum pertanyaan dalam subkueri. Teknik ini menukar ralat "row-not-found" kepada nilai nol.

Berikut ialah contoh:

SELECT (SELECT idnumber FROM dbo.database WHERE number = '9823474') AS idnumber;
Salin selepas log masuk

Pertimbangan Keserasian

Kaedah ini telah diuji dan disahkan untuk berfungsi dalam PostgreSQL, SQLite, SQL Server, MySQL dan Firebird. Walau bagaimanapun, sedikit variasi mungkin diperlukan untuk sistem pangkalan data lain.

Sebagai contoh, dalam Oracle, anda perlu membuat pertanyaan daripada jadual 1 baris tiruan yang dipanggil DUAL:

SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM DUAL;
Salin selepas log masuk

DB2 memerlukan pendekatan serupa, menggunakan SYSIBM.SYSDUMMY1 sebagai jadual tiruan:

SELECT (SELECT id FROM tbl WHERE id = 9823474) AS id FROM SYSIBM.SYSDUMMY1;
Salin selepas log masuk

Dengan merangkum pertanyaan dalam subkueri, anda boleh mengendalikan ketiadaan rekod dengan berkesan dan mengembalikan nilai nol dan bukannya menghadapi ralat baris-tidak-ditemui.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengembalikan NULL Daripada Ralat Baris Tidak Ditemui dalam Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan