Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menulis Semula IS DISTINCT FROM dan TIDAK DISTINCT FROM dalam SQL Server 2008R2?

Bagaimana untuk Menulis Semula IS DISTINCT FROM dan TIDAK DISTINCT FROM dalam SQL Server 2008R2?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-11 07:48:44691semak imbas

How to Rewrite IS DISTINCT FROM and IS NOT DISTINCT FROM in SQL Server 2008R2?

Tulis Semula ADALAH BERBEZA DAN TIDAK BERBEZA DARI dalam SQL Server 2008R2

Soalan:

Bagaimanakah anda menulis semula ungkapan yang mengandungi operator IS DISTINCT FROM dan IS NOT DISTINCT FROM dalam Microsoft SQL Server 2008R2 (yang tidak menyokong IS DISTINCT FROM dan IS NOT DISTINCT FROM operator)?

Jawapan:

BERBEZA DENGAN

BERBEZA DARI predikat menjamin hasil binari (benar atau salah) apabila membandingkan dua nilai. Untuk SQL Server 2008R2, predikat ini boleh disimulasikan menggunakan ungkapan berikut:

<code class="language-sql">((a != b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL))</code>

TIDAK BERBEZA DENGAN

Begitu juga, TIDAK BERBEZA DARIPADA menyemak sama ada terdapat perbezaan yang ketara antara dua nilai. Ia boleh ditulis semula sebagai:

<code class="language-sql">(NOT (a != b OR a IS NULL OR b IS NULL) OR (a IS NULL AND b IS NULL))</code>

Perbandingan dengan jawapan yang salah

Jawapan salah yang diberikan gagal mengambil kira penilaian nilai NULL dalam ungkapan Boolean. Sebagai contoh, NULL IS DISTINCT FROM NULL harus dinilai kepada False, tetapi ungkapan yang salah menghasilkan Unknown.

Atas ialah kandungan terperinci Bagaimana untuk Menulis Semula IS DISTINCT FROM dan TIDAK DISTINCT FROM dalam SQL Server 2008R2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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