يمكن لعمود CHAR قبول نص أقصر من الطول المحدد في تعريفه. لا يشترط أن يكتب المستخدم العدد الكامل من الحروف في كل إدخال. يتعامل النوع مع طول ثابت، ويُحشى النص بالمسافات من اليمين وفق سلوك النوع، لكن هذه المسافات النهائية تزال عند استرجاع القيمة في إعدادات MySQL 8 الافتراضية.
لهذا لا تعني عبارة الطول الثابت أن دالة قياس طول النص المسترجع ستعيد دائمًا طول تعريف العمود. إذا خزنت حرفين في CHAR(5)، فإن قياس القيمة المسترجعة يعيد حرفين في هذه الإعدادات. هذا الفرق مهم عند فحص البيانات من التطبيق أو كتابة اختبارات تتوقع مسافات ظاهرة. وإذا كانت المسافات النهائية نفسها جزءًا مهمًا من المحتوى، فيجب الانتباه إلى سلوك النوع قبل اختياره، بدل افتراض أن كل النصوص تحفظ وتسترجع بالطريقة نفسها.
مثال
CREATE TABLE countries (
code CHAR(5)
);
INSERT INTO countries (code) VALUES ('JO');
SELECT CHAR_LENGTH(code) AS length_value FROM countries;
باختصار: يقبل CHAR(5) نصًا من حرفين، ويكون طول قيمته المسترجعة حرفين بالإعدادات الافتراضية.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.