تحويل أنواع مختلفة إلى أنواع عشرية في SQL

Thwyl Anwa Mkhtlft Aly Anwa Shryt Fy Sql



ماذا يمكننا أن نقول عن نوع الصب أو تحويل الكتابة الذي لم يُقال؟ يعد تحويل النوع أحد الممارسات الأساسية والأكثر شيوعًا لأي مطور في SQL أو أي لغة برمجة أخرى.

في SQL، لدينا إمكانية الوصول إلى وظيفة cast() المسماة بشكل ملائم والتي تسمح لنا بإرسال قيمة من نوع بيانات إلى نوع آخر. الاستخدام الشائع لوظيفة الإرسال هو عندما تحتاج إلى تغيير نوع البيانات لعمود أو تعبير معين ثم إجراء عمليات محددة أو مقارنة بالنوع الناتج.

في هذا الدليل، سنركز على وظيفة cast() في SQL ونتعلم كيف يمكننا استخدامها لتحويل الأنواع المختلفة إلى نوع عشري.







من الجيد أن تضع في اعتبارك أن تنفيذ وظيفة cast() قد يختلف اعتمادًا على محرك قاعدة البيانات الهدف. لذلك، خذ بعين الاعتبار الوثائق الخاصة بقاعدة البيانات الخاصة بك لمعرفة المزيد.



بناء جملة الوظيفة:

بناء جملة الدالة cast() واضح جدًا وبديهي للغاية. يمكننا التعبير عن بناء الجملة على النحو التالي:



CAST (التعبير AS data_type)

تقبل الدالة معلمتين رئيسيتين:





  1. التعبير - يشير هذا إلى القيمة أو التعبير أو عمود الجدول الذي نرغب في تحويله إلى نوع آخر.
  2. Data_type - يحدد هذا نوع البيانات الهدف الذي نرغب في إرسال تعبير الإدخال إليه.

بعد ذلك، دعونا نلقي نظرة على بعض الأمثلة لاستخدام الدالة cast().

مثال 1: تحويل Int إلى الرقم العشري

أحد أكثر أنواع عمليات الصب شيوعًا هو تحويل عدد صحيح إلى قيمة عشرية. على سبيل المثال، لنفترض أن لدينا عمودًا من القيم الصحيحة ونرغب في تحويله إلى نوع عشري لإجراء حسابات أكثر دقة. يمكننا استخدام الدالة cast() كما يلي:



SELECT CAST(value AS DECIMAL(10, 2)) كقيم عشرية

من العينة؛

في هذه الحالة، لدينا عمود يسمى 'القيم' الذي يخزن القيم الصحيحة. باستخدام الدالة 'cast'، نقوم بتحويل جميع القيم بسرعة إلى عدد عشري كما هو موضح في الإخراج التالي:

القيم العشرية|
--------------+
100.00|
200.00|
300.00|

وهذا يوفر حسابًا أكثر دقة للقيم.

ملاحظة: في الدالة المحددة، نحدد نوع البيانات الهدف وهو رقم عشري بإجمالي 10 أرقام، ويتم حجز اثنين منها للمنازل العشرية.

المثال 2: تحويل السلسلة إلى الرقم العشري

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

يمكننا استخدام الدالة 'cast' لتحويل القيم من السلسلة إلى أعداد عشرية كما هو موضح في المثال التالي:

SELECT CAST('49.99' AS DECIMAL(8, 2)) AS dec;

يجب أن يقوم هذا بتحويل سلسلة الإدخال إلى تمثيل عشري كما يلي:

ديسمبر |
-------------+
49.99|

ها أنت ذا!

مثال 3: التعامل مع القيم الخالية

في العالم الحقيقي، لا بد أن تصادف حالات تحتوي فيها الصفوف الموجودة في عمودك على قيم فارغة.

على الرغم من أن هذا قد لا يبدو مشكلة في البداية، إلا أنه عندما تحتاج إلى تحويل القيم إلى نوع آخر، فإن الدالة cast() لن تتعامل بشكل جيد مع القيم NULL.

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

خذ على سبيل المثال الاستعلام التالي:

حدد CAST(COALESCE(column_name 0) AS DECIMAL(10, 2)) كنتيجة

من اسم الجدول؛

يوضح بناء الجملة السابق كيفية استخدام وظيفة الدمج () لمعالجة القيم الخالية باستخدام وظيفة cast ().

خاتمة

في هذا الدليل، استكشفنا وظيفة 'cast' في SQL لمعرفة كيف يمكننا استخدامها لتحويل الأنواع المختلفة إلى أنواع عشرية. لقد قمنا بتغطية بناء جملة الوظيفة ومثال استخدام الوظيفة.