الأربعاء، 2 يوليو 2014

Case When

Case When
تستخدم Case When  لاستبدال قيمة باي قيمة اخرى.

شكل جملة Case When:
CASE input_expression
     WHEN when_expression THEN result_expression [ ...n ]
     [ ELSE else_result_expression ]
END

CASE
     WHEN Boolean_expression THEN result_expression [ ...n ]
     [ ELSE else_result_expression ]
END

مثال يوضح كيفة أستخدام الدالة Case When :

SELECT  E.NAME AS Employee ,
        M.NAME AS Manager
FROM    tblEmployee E
        LEFT OUTER JOIN tblEmployee M ON E.ManagerID = M.EmployeeID

SELECT  E.NAME AS Employee ,
        CASE WHEN M.NAME IS NULL THEN 'No Manager Name' ELSE M.Name END Manager_Name
FROM    tblEmployee E
        LEFT OUTER JOIN tblEmployee M ON E.ManagerID = M.EmployeeID





-----------------------------------------
-----------------------------------------


مثال أخر علي استخدامات Case When, تم تعرف متغير باسم @Lang وتم اسناد القيمة ar له
 اي  اختصار للغة العربية, وفي جملة ال Case When  تم كتابة الشرط إذا كان المتغير Lang  بيساوي

 القيمة ar عنداذا اختر ال Column العربي وهو CategoryAr .

 جدول  Product:



 DECLARE @Lang NVARCHAR(2)

SELECT   ProductNumber,
         CASE WHEN @Lang ='ar' THEN Product.CategoryAr  
         ELSE Product.CategoryEn END Lang
FROM Product
ORDER BY ProductNumber;




-----------------------------------------



مثال علي اختيار الColumn  الانجليزي وهو CategoryEn:


DECLARE @Lang NVARCHAR(2)

SELECT   ProductNumber,
         CASE WHEN @Lang ='en' THEN Product.CategoryEn
         ELSE Product.Categoryar END Lang
FROM Product
ORDER BY ProductNumber;



نلاحظ تم أختيار ال Column CategoryEn و ظهر الصفوف ب Road و Mountain.



ليست هناك تعليقات:

إرسال تعليق

يسعدني إرسال تعليقاتكم وأسئلتكم واقتراحاتكم