Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mensimulasikan IS DISTINCT FROM dan TIDAK DISTINCT FROM dalam SQL Server 2008R2?
Penulisan Semula ADALAH BERBEZA DAN TIDAK BERBEZA DENGAN Predikat dalam SQL Server 2008R2
Dalam SQL Server 2008R2, standard ADALAH BERBEZA DARI dan ADALAH NOT DISTINCT FROM operator tidak disokong. Ini menimbulkan masalah kepada pengguna yang perlu membandingkan nilai dan mendapatkan hasil muktamad sama ada Betul atau Salah dan bukannya lalai Tidak Diketahui.
Menulis Semula Alternatif
Untuk meniru IS BERBEZA DARI dan TIDAK BERBEZA DARI predikat, ungkapan berikut boleh digunakan:
((a <> b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL))
(NOT (a <> b OR a IS NULL OR b IS NULL) OR (a IS NULL AND b IS NULL))
Ungkapan ini secara berkesan menentukan sama ada nilai tidak sama atau jika salah satu nilai adalah nol. Jika ya, maka hasil yang dikembalikan adalah Benar; jika tidak, ia adalah Palsu.
Mengelakkan Perangkap Biasa
Adalah penting untuk ambil perhatian bahawa ungkapan berikut tidak menulis semula dengan betul ADALAH BERBEZA DARI:
FALSE OR NULL
Dalam Pelayan SQL, FALSE ATAU NULL menilai kepada Tidak diketahui, yang bukan hasil yang diinginkan. Oleh itu, adalah penting untuk menggunakan ungkapan yang disediakan di atas untuk penulisan semula yang tepat.
Kesimpulan
Dengan menggunakan ungkapan yang ditulis semula ini, pengguna SQL Server 2008R2 boleh mencapai fungsi yang sama seperti BERBEZA DAN TIDAK BERBEZA, memastikan perbandingan sentiasa kembali muktamad hasil.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mensimulasikan IS DISTINCT FROM dan TIDAK DISTINCT FROM dalam SQL Server 2008R2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!