هل تتعامل TRIM مع النص المحدد كمقطع كامل أم مجموعة أحرف؟

متقدمقراءة دقيقةآخر تحديث 3 أكتوبر 2026

SQL قواعد البيانات

الإجابة

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

يمكن اختيار الطرف باستخدام LEADING للبداية أو TRAILING للنهاية أو BOTH للطرفين. إذا تكرر المقطع المطابق عند الطرف، تستطيع الدالة إزالة تكراراته المتتابعة. لكنها لا تبحث في وسط النص لحذف المقاطع الداخلية، ولا تحذف مقطعًا معكوس الترتيب لمجرد أنه يتكون من الحروف نفسها.

مثال

SELECT TRIM(BOTH 'ab' FROM 'ababXaba') AS cleaned;

يزول تكرارا ab من البداية. أما النهاية فهي ba، فلا تطابق المقطع المحدد، وتبقى القيمة المتبقية كما هي من هذا الطرف.

باختصار: النص المحدد داخل TRIM مقطع مرتب كامل، ويختلف تنظيفه من الأطراف عن حذف مجموعة أحرف أو استبدال المقاطع في النص كله.

هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.

اختبر فهمك

ما قيمة cleaned التي يعيدها الاستعلام التالي؟

CREATE TABLE books (code VARCHAR(20));
INSERT INTO books (code) VALUES ('ababXaba');
SELECT TRIM(BOTH 'ab' FROM code) AS cleaned
FROM books;