Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menulis Semula ADALAH BERBEZA DARI dan TIDAK BERBEZA DARI Operator dalam SQL Server 2008R2?

Bagaimanakah Saya Boleh Menulis Semula ADALAH BERBEZA DARI dan TIDAK BERBEZA DARI Operator dalam SQL Server 2008R2?

Patricia Arquette
Patricia Arquetteasal
2025-01-11 10:54:43849semak imbas

How Can I Rewrite IS DISTINCT FROM and IS NOT DISTINCT FROM Operators in SQL Server 2008R2?

Menulis semula operator IS DISTINCT FROM dalam SQL Server 2008R2

SQL Server 2008R2 tidak menyokong standard IS DISTINCT FROM dan IS NOT DISTINCT FROM operator. Artikel ini menyediakan penyelesaian untuk menulis semula ungkapan ini menggunakan sintaks alternatif yang serasi dengan versi perisian ini.

BERBEZA DENGAN

Predikat IS DISTINCT FROM menilai kepada Benar jika kedua-dua nilai tidak sama atau salah satu nilainya adalah NULL; Ia boleh ditulis semula seperti 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>

Contoh:

<code class="language-sql">SELECT CASE
    WHEN (a != b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL) THEN 'True'
    ELSE 'False'
END AS DistinctResult</code>

TIDAK BERBEZA DENGAN

Pengendali

TIDAK BERBEZA daripada pengendali menilai kepada Benar jika kedua-dua nilai adalah sama atau kedua-duanya adalah NULL, dan menilai kepada Salah jika ia tidak sama dan bukan kedua-duanya NULL. 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>

Contoh:

<code class="language-sql">SELECT CASE
    WHEN (NOT (a != b OR a IS NULL OR b IS NULL) OR (a IS NULL AND b IS NULL)) THEN 'True'
    ELSE 'False'
END AS NotDistinctResult</code>

Nota:

Timpa yang disediakan memastikan bahawa hasilnya sentiasa Benar atau Salah, mengelakkan keadaan Tidak Diketahui yang boleh berlaku dengan operan NULL.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menulis Semula ADALAH BERBEZA DARI dan TIDAK BERBEZA DARI Operator 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