首頁 > 資料庫 > mysql教程 > 如何在 SQL Server 2008R2 中模擬 IS DISTINCT FROM 和 IS NOT DISTINCT FROM?

如何在 SQL Server 2008R2 中模擬 IS DISTINCT FROM 和 IS NOT DISTINCT FROM?

Mary-Kate Olsen
發布: 2025-01-11 07:16:43
原創
262 人瀏覽過

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

SQL Server 2008R2 中的重寫IS DISTINCT FROM 和IS NOT DISTINCT FROM 謂詞

在SQL Server 中標準和IS不支援NOT DISTINCT FROM運算符。這給需要比較值並獲得 True 或 False 而不是預設的 Unknown 的明確結果的用戶帶來了問題。

重寫替代方案

模擬 IS DISTINCT FROM 和 IS NOT DISTINCT FROM謂詞,以下表達式可以使用:

  • 重寫與:
((a <> b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL))
登入後複製
  • 重寫不同FROM:
(NOT (a <> b OR a IS NULL OR b IS NULL) OR (a IS NULL AND b IS NULL))
登入後複製
這些表達式有效地決定值是否不相等或其中一個值是否為空。如果是,則傳回結果為True;

避免常見陷阱

重要的是要注意以下表達式

正確重寫IS DISTINCT FROM:

FALSE OR NULL
登入後複製
在SQL Server 中,FALSE OR NULL的計算結果為未知,這不是想要的結果。因此,使用上面提供的表達式進行準確的重寫至關重要。

結論

利用這些重寫的表達式,SQL Server 2008R2 使用者可以實現與SQL Server 2008R2 相同的功能IS DISTINCT FROMIS 和 NOT DISTINCT FROM,確保比較始終傳回明確的結果。

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

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