Thursday, March 8, 2012

คำสั่ง CASE WHEN SqlServer

การเลือกทำงานตามเงื่อนไขโดยใช้คำสั่ง CASE

รูปแบบคำสั่ง

CASE input_expression
WHEN when_expression THEN result_expression
[ …n ]
[
ELSE else_result_expression
]
END

ตัวอย่าง จ้า

SELECT Category =
CASE type
WHEN 'popular_comp' THEN 'Popular Computing'
WHEN 'mod_cook' THEN 'Modern Cooking'
WHEN 'business' THEN 'Business'
WHEN 'psychology' THEN 'Psychology'
WHEN 'trad_cook' THEN 'Traditional Cooking'
ELSE 'Not yet categorized'
END,
CAST(title AS varchar(25)) AS 'Shortened Title',
price AS Price
FROM titles
WHERE price IS NOT NULL
ORDER BY type, price

ดูตัวอย่างการนำ Case มาใช้ร่วมกับคำสั่ง update กันบ้างคะ 

UPDATE titles
SET Category = CASE type WHEN 'popular_comp' 
THEN 'Popular Computing'
WHEN 'mod_cook' THEN 'Modern Cooking'
WHERE Location = 'Thailand'
AND Status = 'A'

นอกจากนี้ Case ยังสามารถนำมาใช้ในช่วงของการ where ได้ด้วยนะคะ
ลองนำไปประยุกต์ใช้กันต่อนะคะ มีประโยชน์มากๆคะ

No comments:

Post a Comment