دوال التبديل في ال T-SQL

دوال التبديل في ال SQL Server

هي دوال تقوم بالتلاعب بالنتيجة التي نريدها اضهارها  في الاستعلام ومنها

1-     Case

2-     Standard COALESCE and NULLIF اي انها من الدوال التي تتعامل معها كل انواع قواعد البيانات او بالاحرى اي لغة من لغات ال SQL

3-     Nonstandard ISNULL, IIF, and CHOOSE  اي انها الدوال المخصصة فقط في لغة ال TSQL

لنتابع الامثلة التالية

دالة ال Case

لنتخيل اننا في الجدول قمنا بخزن خاصية الجنس للموضف على اساس نوع البيانات من نوع bit اي استخدام ال TRUE وال FALSE

واردنا ان نقوم بطباعة تقرير  يقوم بعرض اسم الجنس اي ذكر او انثى فنقوم باستخدام دالة ال CASE وذالك اي تقوم باختبار النتيجة القادمة من الجدول في حال كانت TRUE  فأنها ذكر والعكس تماماً لنتابع المثال التالي

CREATE TABLE [dbo].[TBL_Emp](

       [ID] [int] IDENTITY(1,1) NOT NULL,

       [Name] [nvarchar](50) NULL,

       [Gender] [bit] NULL,

 CONSTRAINT [PK_TBL_Emp] PRIMARY KEY CLUSTERED

(

       [ID] ASC

)

) ON [PRIMARY]

GO

insert into tbl_emp(name,gender)

values

(‘omar’,1),(‘NN’,0),(‘AA’,1)

GO

Select name,Gender,case Gender

when 1 then N’ذكر’

When 0 then N’انثى’

end AS GenderNams

from tbl_emp

GO

الان عبارة ال Case  تكتب كما في الشكل التالي

CASE ColoumTest

When  الشرط then النتيجة

Else تنفيذ في حالى عدم المطابقة

END

مثال استخدام ال Coalesce وال ISNULL

1 Case

في حالة استخدام ال Coalescs فانة يقوم بأختبار نتيجتين كانت الاولى NULL فأنة يجلب قيمة الثانية ويهمل الاولى وال NULLIIF نفس العمل

اما في حالة ال ISNULL فانة يقوم ايظاً بأختبار نتيجتين في كانت الاولى NULL  يقوم بأرجاع النتيجة الثانية على اساس انها القيمة الاولى

اما في حال استخدمنا ال II

كما في المثال التالي

 IIF(<الشرط>, <القيمة الصحيحة>, <القيمة الخائة>)

 

اما عن طريقة استخدام ال CHOOSE

لنتابع المثال التالي

Choose

انه هنا يقوم بأرجاع القيمة الثانية لو حاولنا تبديل الرقم ال 3 ولاحظ النتيجة يقوم باهمال القيم الباقية وجلب قيمة المتغير رقم 3

Advertisements

شاركنا بارد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s