منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
معلومة --- دالة coalesce --- - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم مقالات SQL SERVER (http://vb4arb.com/vb/forumdisplay.php?fid=84)
+--- الموضوع : معلومة --- دالة coalesce --- (/showthread.php?tid=6621)



معلومة --- دالة coalesce --- - RaggiTech - 21-10-12

كاتب الموضوع : BADRMEDIA



الدالة COALESCE تستخدم بدلاً من CASE WHEN ... ELSE

كمثال :

لو أردنا مثلاً ايجاد القيمة لو كانت not NULL

بالطريقة CASE WHEN ... ELSE سيكون الأمر كالآتي :



كود :
[color=#000000][COLOR=#0000bb]SELECT TheSource [/color][COLOR=#007700]=

   CASE

      [/COLOR][COLOR=#0000bb]WHEN localSource IS NOT NULL THEN localSource

      WHEN intranetSource IS NOT NULL THEN intranetSource

      WHEN internetSource IS NOT NULL THEN internetSource

      [/COLOR][color=#007700]ELSE [/color][COLOR=#dd0000]''

   [/COLOR][COLOR=#0000bb]END

FROM [/COLOR][COLOR=#007700]...  
[/COLOR][color=#0000bb][/color][/COLOR]


لكن مع الدالة COALESCE سيكون الأمر بهذا الشكل


كود :
[color=#000000][COLOR=#0000bb]SELECT TheSource [/color][COLOR=#007700]=

   [/COLOR][color=#0000bb]COALESCE[/color][color=#007700]([/color][color=#0000bb]localSource[/color][color=#007700], [/color][color=#0000bb]intranetSource[/color][color=#007700], [/color][color=#0000bb]internetSource[/color][color=#007700], [/color][color=#dd0000]''[/color][COLOR=#007700])

[/COLOR][color=#0000bb]FROM [/color][COLOR=#007700]...  
[/COLOR][color=#0000bb][/color][/COLOR]


الدالة موجودة من اصدار 2000

للمزيد عن استخدامها قم بزيارة الصفحة فى شبكة المبرمجين

http://msdn.microsoft.com/en-us/library/ms190349.aspx