تجري الدالة REPLACE في MySQL بحثًا حساسًا لحالة الأحرف عند تحديد المقطع المطلوب استبداله. لذلك فإن البحث عن sql لا يعني استبدال SQL أو Sql أيضًا. قد يفاجئ هذا السلوك من اعتاد مقارنة النصوص داخل أعمدة تستخدم ترتيب مقارنة غير حساس لحالة الأحرف.
يجب قراءة سلوك الدالة نفسها بدل افتراض أن كل عمليات النص تتبع الطريقة نفسها. إذا أردت توحيد حالة الأحرف قبل الاستبدال، فيمكن بناء تعبير يتضمن UPPER أو دالة مناسبة، لكن ذلك سيغير حالة بقية النص أيضًا. لذلك لا يعد تحويل النص كله حلًا مناسبًا لكل مهمة تحرير.
مثال
SELECT REPLACE('SQL sql Sql', 'sql', 'DB') AS label;
يتغير المقطع الأوسط وحده، وتصبح النتيجة SQL DB Sql. المقطعان الآخران لا يطابقان سلسلة البحث من حيث حالة الأحرف، رغم تشابه الحروف الأساسية.
باختصار: تراعي REPLACE حالة الأحرف في النص المطلوب، فلا تتوقع استبدال الأشكال المختلفة للكلمة بمجرد تمرير شكل واحد منها.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.