एक CASE
एक्सप्रेशन THEN
. से एक मान लौटाता है खंड का हिस्सा। आप इसे इस प्रकार उपयोग कर सकते हैं:
SELECT *
FROM sys.indexes i
JOIN sys.partitions p
ON i.index_id = p.index_id
JOIN sys.allocation_units a
ON CASE
WHEN a.type IN (1, 3) AND a.container_id = p.hobt_id THEN 1
WHEN a.type IN (2) AND a.container_id = p.partition_id THEN 1
ELSE 0
END = 1
ध्यान दें कि आपको लौटाए गए मूल्य के साथ कुछ करने की ज़रूरत है, उदा। इसकी तुलना 1 से करें। आपके कथन ने असाइनमेंट के मूल्य को वापस करने का प्रयास किया है या समानता के लिए परीक्षण किया है, जिनमें से कोई भी CASE
के संदर्भ में कोई मतलब नहीं है। /THEN
खंड। (यदि BOOLEAN
एक डेटाटाइप था तो समानता के लिए परीक्षण समझ में आएगा।)