Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menulis Semula 'IS DISTINCT FROM' dan 'IS NOT DISTINCT FROM' dalam SQL Server 2008R2?
Menggantikan "IS DISTINCT FROM" dan "IS NOT DISTINCT FROM" dalam SQL Server 2008R2
Microsoft SQL Server 2008R2 tidak menyokong pengendali SQL standard "IS DISTINCT FROM" dan "IS NOT DISTINCT FROM." Panduan ini menawarkan ungkapan yang setara untuk digunakan dalam SQL Server 2008R2.
Alternatif untuk "BERBEZA DARI"
Operator "IS DISTINCT FROM" mengembalikan TRUE jika dua nilai berbeza, atau jika salah satu nilai adalah NULL. Inilah persamaannya:
<code class="language-sql">((a != b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL))</code>
Alternatif untuk "TIDAK BERBEZA DENGAN"
Pengendali "IS NOT DISTINCT FROM" mengembalikan TRUE jika dua nilai adalah sama, atau jika kedua-dua nilai adalah NULL. Yang setara ialah:
<code class="language-sql">(a = b OR (a IS NULL AND b IS NULL))</code>
Pertimbangan Penting
Penggantian ini tidak mencerminkan dengan sempurna kelakuan pengendali standard, terutamanya mengenai pengendalian NULL dalam perbandingan di luar kesaksamaan mudah. Walau bagaimanapun, mereka menyediakan penyelesaian praktikal dalam had keserasian jenis data SQL Server 2008R2. Berhati-hati apabila menggunakan alternatif ini pada pertanyaan rumit.
Atas ialah kandungan terperinci Bagaimana untuk Menulis Semula 'IS DISTINCT FROM' dan 'IS NOT DISTINCT FROM' dalam SQL Server 2008R2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!