Sebuah CASE
ekspresi mengembalikan nilai dari THEN
bagian dari klausa. Anda dapat menggunakannya sebagai berikut:
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
Perhatikan bahwa Anda perlu melakukan sesuatu dengan nilai yang dikembalikan, mis. bandingkan dengan 1. Pernyataan Anda berusaha mengembalikan nilai tugas atau tes untuk kesetaraan, yang keduanya tidak masuk akal dalam konteks CASE
/THEN
ayat. (Jika BOOLEAN
adalah tipe data maka uji kesetaraan akan masuk akal.)