الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الاتصال بالبيانات من نوع NULL عن طريق تابع يدعى ISNULL()

مغلق
بدأه عبد الكريم كنعان في 8 يوليو 2007 · 0 رد · 564 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1

الاتصال بالبيانات من نوع NULL عن طريق تابع يدعى ISNULL()

يوجد في الواقع العديد من التوابع الخاصة بالتعامل مع NULL، أحد هذه التوابع هو ISNULL().

التابع ISNULL() يقبل متحول Variable أو تعبير Expression، ويقوم بعملية إختبار فيما إذا كانت القيمة هي NULL، إذا كانت القيمة هي NULL، فإن التابع سوف يعيد قيمة محددة بدلا من قيمة الـ NULL، أما إذا كانت قيمة التعبير ليست NULL، فإن التابع سوف يعيدها كقيمة إن شكل التابع هو كما يلي:

ISNULL ( check_expression , replacement_value )

على سبيل المثال:

ISNULL Expression						   Value Returned
ISNULL(NULL, 5)									   5
ISNULL(5, 15)																5
ISNULL(MyColumnName, 0) where MyColumnName IS NULL		 0
ISNULL(MyColumnName, 0) where MyColumnName = 3					   3
ISNULL(MyColumnName, 0) where MyColumnName =’Fred Farmer’   Fred Farmer

الان دعنا نرى استخدام التابع في الاستعلام:

Select cu.CompanyName,
	IsNull(Cast ((Select Min(o.OrderDate)
			From Orders As o
			Where o.CustomerID = cu.CustomerID) As varchar), ' Never Ordered')
			As 'Order Date'From Customers As cu

هناك سطران بدون تعليمة ISNULL() كانا سينتجان كما يلي:

...

FISSA Fabrica Inter. Salchichas S.A. NULL

...

Paris spécialités NULL

...

ولكن باستخدامه سينتجان كما يلي:

...

FISSA Fabrica Inter. Salchichas S.A. NEVER ORDERED

...

Paris spécialités NEVER ORDERED

...

تم استخدام التابع CAST() حتى يعمل هذا الاستعلام والسبب في ذلك لأن ناتج التنفيذ سينتج سيعطي بيانات من نوع تاريخ(DateTime) طبعا للعمود Order Date، وبالتالي عندما يصل التنفيذ إلى أول NULL سيتولد خطأ وذلك بسبب أن عبارة Never Ordered لا يمكن تحويلها إلى تاريخ.

الأمثلة مطبقة على قاعدة بيانات Northwind.

أخذت هذه المقالة من كتاب Beginning SQL Server 2005.

كتبت هذه المقالة بتاريخ: ‏السبت‏، 22‏ جمادى الثانية‏، 1428، الموافق: ‏السبت‏، 07‏ تموز‏، 2007

تم تعديل هذه المشاركة بواسطة عبد الكريم كنعان في 8 يوليو 2007 في 05:16

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…