در این جلسه از آموزش های SQL میخواهیم در ارتباط با دستور CASE با شما صحبت کنیم. دستور CASE مانند IF/ELSE می باشد.
case یک عبارت را به عنوان ورودی می گیرد و سپس آن را با همه ی مقادیر موجود در عبارت when مقایسه می کند.خروجی هر عبارت با then تولیدمی شود. عبارت else نیز در مواقعی به کار می رود که داده ی ورودی با هیچ یک از داده ها ی موجود در when منطبق نباشد. برای آشنایی بیشتر به مثال های زیر توجه کنید:
یک کوئری بنویسید که که کالا ها را بر اساس قیمت دسته بندی کند، به این صورت که اگر قیمت کالا کمتر از ۱۰ بود در دسته “ارزان”، اگر قیمت کالا بین ۱۰ و ۵۰ بود در دسته “متوسط” و اگر بیشتر از ۵۰ بود در دسته “گران” قرار بگیرد.
SELECT PRODUCTID,PRODUCTNAME,UNITPRICE, CASE
‘ارزان’ when unitprice<10 then N
‘متوسط’when unitprice>=10 and unitprice<=50 then N
‘گران’when unitprice<50 then N
‘غیرممکن’else
end as pricerange
نکات:
مثال بعدی:
یک کوئری بنویسید که که کارمندان را بر اساس سن آن ها دسته بندی کند، به این صورت که اگر سن کمتر از ۴۰ سال باشد در دسته “جوان”، اگر سن بین ۴۰ تا ۶۰ باشد در دسته “میانسال” و اگر سن بیشتر ۶۰ باشد در دسته “مسن” قرار بگیرند.
‘سن’SELECT EMPLOYEEID, FIRSTNAME,LASTNAME,DATEDIFF(YEAR,BIRTHDATE,GETDATE()) AS N
‘جوان’WHEN DATEDIFF(YEAR,BIRTHDATE,GETDATE()) <40 THEN N
‘میانسال’WHEN DATEDIFF(YEAR,BIRTHDATE,GETDATE()) BETWEEN 40 AND 60 THEN N
‘مسن’WHEN DATEDIFF(YEAR,BIRTHDATE,GETDATE()) >60 THEN N
END
AS AGERANGE
© کلیه حقوق این سایت متعلق به گروه مهندسی آی کن میباشد.