إزالة الأصفار البادئة في SQL

Azalt Alasfar Albadyt Fy Sql



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

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

يمكن أن تكون الأصفار البادئة في البيانات مشكلة خاصة عند التعامل مع القيم الرقمية المخزنة كسلاسل.







في هذا الدليل، سنناقش جميع الأساليب والتقنيات التي يمكننا استخدامها لإزالة أي أصفار بادئة ضمن مجموعة بيانات SQL.



إعداد بيانات العينة

قبل أن نتعمق في التطبيقات والأمثلة، دعونا نبدأ بإعداد مجموعة بيانات أساسية من شأنها أن تساعد في إثبات حدوث الأصفار البادئة.



خذ بعين الاعتبار جدول الموظف الذي يحتوي على البيانات كما هو موضح في ما يلي:





إنشاء موظف الجدول (
معرف الموظف VARCHAR(10)
);
أدخل في قيم الموظف (معرف الموظف).
('00123')،
('00456')،
('00789')،
('01012')،
('01567');

في هذه الحالة، يكون معرف الموظف من النوع 'varchar'. ومع ذلك، تحتوي القيم على أصفار بادئة.

دعونا نستكشف الطرق التي يمكننا استخدامها لإزالة هذه الأصفار البادئة.



باستخدام وظيفة CAST

إحدى طرق إزالة أي أصفار بادئة هي تحويل السلسلة إلى نوع رقمي. يمكننا استخدام دالة مثل CAST أو CONVERT() كما هو موضح في المثال التالي:

حدد CAST(EmployeeID AS INT) كمعرف موظف بدون أصفار
من الموظف؛

يجب أن يعمل هذا تلقائيًا في قواعد البيانات التي تدعم وظيفة cast().

ومع ذلك، في قواعد البيانات مثل MySQL، قد تحتاج إلى نقل الوظيفة إلى وظيفة القطع لإزالة الأصفار البادئة فعليًا. يمكنك بعد ذلك تحويل القيم إلى نوع رقمي كما هو موضح في المثال التالي:

حدد CAST(TRIM(البادئة '0' من معرف الموظف) كما تم التوقيع) كمعرف الموظف بدون أصفار
من الموظف؛

الناتج الناتج هو كما يلي:

استخدام وظيفة LTRIM

الطريقة الأكثر شيوعًا وفعالية التي يمكنك استخدامها لإزالة أي أصفار بادئة هي استخدام الدالة LTRIM(). تتيح لنا هذه الوظيفة إزالة أي أحرف مسافة بيضاء بادئة في سلسلة معينة.

ومع ذلك، فهو لا يسمح لنا بتحديد الحرف المحدد الذي نرغب في إزالته. في حالتنا، يمكننا استخدامه عن طريق إزالة الأصفار البادئة من السلسلة.

مثال على النحو التالي:

حدد LTRIM(EmployeeID, '0') كمعرف الموظفWithoutZeros
من الموظف؛

يجب أن يؤدي هذا إلى إزالة الأحرف الصفرية البادئة من السلسلة.

خاتمة

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