دالة ISNULL SQL في بيانات الحالة

دالة ISNULL SQL في بيانات الحالة

في هذه المدونة ، سنناقش بيان CASE الذي يمكنك استخدامه للتعامل مع عمليات منطقية متعددة. سنناقش أيضًا وظيفة ISNULL SQL التي ستسمح لك بإرجاع قيمة الاستبدال في حالة وجود تعبيرات لها قيمة NULL .

تعد عبارة CASE و ISNULL مفيدة جدًا في العمل مع الأكواد التي تتطلب الكثير من العمليات المنطقية وللاستبدال السريع للقيم الثابتة أو المحددة للتعبير.

إن جملة CASE في SQL تشبه استخدام جملة IF ELSE . ومع ذلك ، فمن المرجح أن يكون مشابهًا لبيان SWITCH الذي نستخدمه في DAX . من ناحية أخرى ، فإن الدالة ISNULL مخصصة لاستبدال قيمة NULL بقيمة معينة تريد استخدامها.

جدول المحتويات

استخدام جملة CASE في SQL

لنفترض أن لدينا عمودي ProductName و Sales Amount .

دالة ISNULL SQL في بيانات الحالة

ثم نريد إنشاء عمود إضافي يسمى الوصف .

دالة ISNULL SQL في بيانات الحالة

نريد أيضًا إضافة عبارات منطقية تعرض " رخيص " إذا كان مبلغ المبيعات أقل من أو يساوي 5 ، ثم " ليست رخيصة جدًا " بين 6 و 100 . إذا كانت القيمة أكبر من مائة ، فسيتم عرض " غالي الثمن ".

دالة ISNULL SQL في بيانات الحالة

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

عند استخدام عبارة CASE ، يتم دائمًا استخدام عبارات WHEN و THEN للإشارة إلى العمليات المنطقية التي نريد تنفيذها في العمود المحدد. عبارة ELSE مخصصة لتعيين قيمة افتراضية إذا لم يتم استيفاء مجموعة العمليات المنطقية.

في نهاية بيان CASE ، لدينا END AS واسم العمود بجواره. سيؤدي هذا إلى إنشاء عمود جديد يسمى الوصف بقيم تستند إلى العمليات المنطقية التي أضفناها في بيان CASE .

استخدام دالة ISNULL SQL

وظيفة ISNULL للتحقق مما إذا كانت هناك أي قيم فارغة في عمود محدد واستبدالها بأي قيمة محددة. الآن دعنا نتخيل أن لدينا الأعمدة التالية بقيم NULL .

دالة ISNULL SQL في بيانات الحالة

في المثال أعلاه ، يتم استبدال جميع القيم NULL بقيم " غير معروفة ". يتم استخدام سطور التعليمات البرمجية التالية لإنشاء هذا المثال.

دالة ISNULL SQL في بيانات الحالة

عند استخدام دالة ISNULL SQL ، يجب أن تبدأ بتحديد العمود MiddleName باستخدام جملة SELECT .

بعد ذلك ، يجب عليك استخدام دالة ISNULL للتحقق من عمود MiddleName المحدد داخل الأقواس واستبدال أي قيمة NULL فيه بقيمة " Unknown ".

وظيفة AS هي لإنشاء عمود جديد وهو في هذه الحالة هو MiddleName_New .

لاحظ أن دالة ISNULL لن تحل محل القيم NULL إلا إذا كانت قيمة معينة لا تساوي NULL . ثم ستعيد نفس القيمة من العمود الذي حددته في دالة ISNULL .

بعد ذلك ، سأستخدم دالتَي CASE و ISNULL في SSMS لترى كيف تعمل بالفعل. 

بيان CASE في SSMS

لنبدأ بتحديد عمود الاسم الأول من الشخص . لاحظ أنه في هذا المثال ، ليس من الضروري تحديد عمود. هذا فقط للرجوع اليها.

دالة ISNULL SQL في بيانات الحالة

بعد إحضار هذا العمود ، دعنا ننشئ عمودًا يعرض القيم سواء كان الاسم الأول هو Kim أم لا باستخدام جملة CASE . للقيام بذلك ، ما عليك سوى اتباع المثال أدناه.

دالة ISNULL SQL في بيانات الحالة

في نموذج التعليمات البرمجية أعلاه ، أضفنا شرطًا باستخدام عبارة CASE حيث إذا كان الاسم الأول يساوي " Kim " ، فسيتم عرض " نعم " وإذا لم يكن كذلك ، فسيتم عرض " لا " بدلاً من ذلك.

في هذا المثال ، قمت أيضًا بإنشاء عمود جديد باسم " IsKim " باستخدام وظيفة END AS . انظر المثال أدناه للنتيجة.

دالة ISNULL SQL في بيانات الحالة

لنحصل الآن على مثال آخر باستخدام عبارة CASE عن طريق تطبيق بعض الشروط على عمود TaxAmt من جدول Sales.SalesOrderHeader .

أولاً ، دعنا نحضر أهم 100 عمود من Sales.SalesOrderHeader باستخدام سطر التعليمات البرمجية التالي وابحث عن عمود TaxAmt .

دالة ISNULL SQL في بيانات الحالة

بعد ذلك ، لنبدأ في تطبيق الشروط لعمود TaxAmt باستخدام بيان الحالة باستخدام المثال أدناه.

دالة ISNULL SQL في بيانات الحالة

على غرار المثال السابق ، بدأنا بتحديد العمود الذي نريد تطبيق شروطنا عليه - في هذه الحالة ، إنه عمود TaxAmt .

ثم في بيان الحالة ، أضفنا شروطًا حيث إذا كانت TaxAmt أقل من أو تساوي 500 ، فسوف تعرض القيمة " مثالي ". إذا كانت TaxAmt أقل من 2000 أو تساويها ، فسيتم عرض القيمة " Okay ".

بالإضافة إلى ذلك ، إذا لم يتم استيفاء الشروط ، فسيتم عرض القيمة " غير جيدة " . في نهاية البيان ، قمت بإنشاء عمود جديد باسم TaxClass .

دالة ISNULL SQL في بيانات الحالة

هذه هي الطريقة التي نستخدم بها بيان CASE في SQL . لاحظ أنه يمكنك تعيين العديد من الشروط كما تريد. فقط تأكد من استخدام عبارات WHEN و THEN بالإضافة إلى وظيفة END AS لإنشاء عمود جديد حيث سيتم عرض النتائج.

وظيفة ISNULL SQL في SSMS

في هذا المثال ، سأستخدم نفس الجدول من المثال السابق. ثم سأوضح كيف يمكنك استخدام هذه الوظيفة لاستبدال القيم NULL ضمن عمود CurrencyRateID

دالة ISNULL SQL في بيانات الحالة

بعد تحديد الجدول من المثال أعلاه ، يمكننا رؤية القيم الخالية تحت عمود CurrencyRateID . الآن أريد استبدال هذه القيم الفارغة بـ " 1 ". للقيام بذلك ، راجع المثال أدناه.

دالة ISNULL SQL في بيانات الحالة

لتغيير قيم NULL في عمود معين ، نحتاج أولاً إلى تحديد العمود الذي يحتوي على قيم NULL. في هذه الحالة ، يكون CurrencyRateID . ثم سنستخدم الدالة ISNULL ونحدد العمود الذي سيتم التحقق منه بواسطة وظيفة ISNULL ، وهو CurrencyRateID .

نحتاج أيضًا إلى الإعلان عن قيمة الاستبدال التي نريد استخدامها - في هذا المثال استخدمت " 1 ". أخيرًا ، سنضيف وظيفة AS لإنشاء عمود جديد يسمى NewRate .

نتيجة لذلك ، تم استبدال جميع القيم NULL بـ " 1 " ضمن عمود NewRate ، وتلك التي لا تحتوي على قيمة NULL بقيت كما هي. بالإضافة إلى ذلك ، يمكنك أيضًا تغيير قيمة NULL بعمود. يمكنك القيام بذلك باتباع المثال أدناه.

دالة ISNULL SQL في بيانات الحالة

باستخدام نفس الصيغة من المثال السابق ، أضفنا للتو SalesOrderID بجوار CurrencyRateID كمرجع لدينا قبل وظيفة ISNULL . ثم قمنا بتغيير قيمة الاستبدال باستخدام SalesOrderID . ستتحقق هذه العبارة ببساطة من القيم الخالية ضمن CurrencyRateID وستستبدلها بالقيم من عمود SalesOrderID .

خاتمة

باختصار ، لقد تعلمت كيفية استخدام جملة CASE ودالة ISNULL جنبًا إلى جنب مع بناء الجملة الصحيح في SQL . تعلمت أيضًا أنه يمكنك تضمين العديد من الشروط المنطقية في بيان CASE كما تريد. فقط لاحظ أن بيان CASE مشابه لـ SWITCH أو بيان IF ELSE .

بالإضافة إلى دالة ISNULL ، تعلمت أن هناك طرقًا مختلفة لاستبدال قيمة NULL في استخدام هذه الوظيفة ، والتي تكون عن طريق استخدام قيمة ثابتة أو عمود.

أتمنى لك كل خير،

حافظ






ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

كيفية حفظ وتحميل ملف RDS في R.

كيفية حفظ وتحميل ملف RDS في R.

ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.

مقدمة لتصفية السياق في LuckyTemplates

مقدمة لتصفية السياق في LuckyTemplates

في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX ​​في توفير النتائج.

إعداد تقارير الأعمال باستخدام LuckyTemplates

إعداد تقارير الأعمال باستخدام LuckyTemplates

إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته