首頁 > 資料庫 > mysql教程 > 如何在SQL Server 2008R2中重寫「IS DISTINCT FROM」和「IS NOT DISTINCT FROM」?

如何在SQL Server 2008R2中重寫「IS DISTINCT FROM」和「IS NOT DISTINCT FROM」?

Susan Sarandon
發布: 2025-01-11 09:55:43
原創
970 人瀏覽過

How to Rewrite

替換 SQL Server 2008R2 中的「IS DISTINCT FROM」和「IS NOT DISTINCT FROM」

Microsoft SQL Server 2008R2 本身不支援標準 SQL 運算子「IS DISTINCT FROM」和「IS NOT DISTINCT FROM」。本指南提供了在 SQL Server 2008R2 中使用的等效表達式。

取代「IS DISTINCT FROM」

如果兩個值不同,或其中一個值為 NULL,則「IS DISTINCT FROM」運算子傳回 TRUE。 這是等效的:

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

「不不同於」的替代

如果兩個值相同,或兩個值都是 NULL,則「IS NOT DISTINCT FROM」運算子傳回 TRUE。相當於:

<code class="language-sql">(a = b OR (a IS NULL AND b IS NULL))</code>
登入後複製

重要注意事項

這些替換並不能完美反映標準運算子的行為,特別是在超出簡單相等的比較中的 NULL 處理。 然而,它們在 SQL Server 2008R2 資料類型相容性的限制內提供了實用的解決方案。 將這些替代方案應用於複雜查詢時請務必小心。

以上是如何在SQL Server 2008R2中重寫「IS DISTINCT FROM」和「IS NOT DISTINCT FROM」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板