![]() |
|
دوال التبديل في ال T-SQL - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40) +--- قسم : قسم مقالات SQL SERVER (http://vb4arb.com/vb/forumdisplay.php?fid=84) +--- الموضوع : دوال التبديل في ال T-SQL (/showthread.php?tid=1207) |
دوال التبديل في ال T-SQL - عمر المستشار - 09-12-13 وال التبديل في ال 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 في حالة استخدام ال Coalescs فانة يقوم بأختبار نتيجتين كانت الاولى NULL فأنة يجلب قيمة الثانية ويهمل الاولى وال NULLIIF نفس العمل اما في حالة ال ISNULL فانة يقوم ايظاً بأختبار نتيجتين في كانت الاولى NULL يقوم بأرجاع النتيجة الثانية على اساس انها القيمة الاولى اما في حال استخدمنا ال II كما في المثال التالي IIF(<الشرط>, <القيمة الصحيحة>, <القيمة الخائة>) اما عن طريقة استخدام ال CHOOSE لنتابع المثال التالي انه هنا يقوم بأرجاع القيمة الثانية لو حاولنا تبديل الرقم ال 3 ولاحظ النتيجة يقوم باهمال القيم الباقية وجلب قيمة المتغير رقم 3 RE: دوال التبديل في ال T-SQL - Sajad - 09-12-13 السلام عليكم ورحمة الله بركاته جزاك الله خيرا اخي العزيز شكرا على هذه المعلومات المفيدة تحياتي |