0Pricing
SQL Academy · درس

TRIM وLPAD وRPAD

نظّف المسافات البيضاء باستخدام TRIM وLTRIM وRTRIM، وأضف حشوًا إلى المعرّفات ذات العرض الثابت باستخدام LPAD وRPAD.

TRIM وLPAD وRPAD درس مجاني في SQL Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SQL Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SQL Academy 4 دروس في المجموع.

TRIM: إزالة الحشو

أزل المسافات البيضاء في البداية والنهاية افتراضيًا:

SELECT TRIM('   hello   ');     -- 'hello'
SELECT LTRIM('   hello   ');    -- 'hello   '
SELECT RTRIM('   hello   ');    -- '   hello'

TRIM باستخدام محارف مخصصة

أزل محارف عشوائية:

SELECT TRIM(BOTH '0' FROM '0001230');   -- '123'
SELECT TRIM(LEADING '#' FROM '#hashtag'); -- 'hashtag'

تنظيف إدخال المستخدم

احرص دائمًا على إزالة المسافات من السلاسل النصية التي يرسلها المستخدم عند الإدراج أو التحديث — وإلا فسيكون ' bob ' و'bob' صفين مختلفين:

INSERT INTO users (full_name) VALUES (TRIM(:input));

-- Or enforce at the database with a trigger / CHECK:
ALTER TABLE users
  ADD CONSTRAINT name_not_padded CHECK (full_name = TRIM(full_name));

LPAD وRPAD

أضف حشوًا للوصول إلى عرض ثابت:

SELECT LPAD('7', 4, '0');           -- '0007'  (left-pad)
SELECT RPAD('hi', 5, '.');           -- 'hi...' (right-pad)
SELECT LPAD(id::TEXT, 6, '0') FROM orders;     -- '000123'

إنشاء مخرجات بتنسيق الإيصالات

ادمج PAD وCONCAT لإنشاء تقارير أحادية المسافة:

SELECT RPAD(product_name, 20, '.') || LPAD(price::TEXT, 8, '.') FROM products;

TRANSLATE: محرفًا محرفًا

يُطابق كل محرف في الوسيط الثاني المحرفَ الموجود في الموضع نفسه من الوسيط الثالث:

SELECT TRANSLATE('abc123', 'abc', 'xyz');      -- 'xyz123'
SELECT TRANSLATE(phone, '-() ', '');           -- strip multiple chars at once

تقسيم السلاسل النصية

قسّم السلسلة إلى مصفوفة:

SELECT STRING_TO_ARRAY('a,b,c,d', ',');    -- {'a','b','c','d'}
SELECT REGEXP_SPLIT_TO_ARRAY('a1 b2  c3', '\s+');

إعادة تقسيم السلاسل إلى صفوف

استخدم UNNEST لتفكيك عمود مصفوفة إلى صفوف:

SELECT id, UNNEST(tags) AS tag FROM posts;

إعادة ضم المصفوفات إلى سلاسل نصية

عكس عملية التقسيم:

SELECT ARRAY_TO_STRING(ARRAY['a','b','c'], ', ');   -- 'a, b, c'

REPEAT

كرّر سلسلة نصية N مرة:

SELECT REPEAT('-', 30);             -- 30 dashes
SELECT 'Hello' || REPEAT('!', 5);   -- 'Hello!!!!!'

الحشو والتخزين

لا تستخدم CHAR(n) بهدف أن «يبدو محشوًا» — فهو يخزّن قيمًا محشوة بمسافات ويسبب مفاجآت للجميع. استخدم VARCHAR/TEXT وأضف الحشو وقت SELECT عندما تحتاج إليه للعرض.

مراجعة

غطّينا تنظيم السلاسل النصية: أزل مسافات إدخال المستخدم عند وصوله، وأضف الحشو للعرض عند إخراجه، واستخدم TRANSLATE عند الحاجة إلى تعيينات للمحارف.

تحقق سريع

تريد تنسيق معرّف طلب كسلسلة نصية من 6 أرقام مع حشو بالأصفار (مثل 000123). ما الدالة المناسبة؟

الأسئلة الشائعة

هل درس «TRIM وLPAD وRPAD» مجاني؟

نعم — نص درس «TRIM وLPAD وRPAD» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SQL Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SQL Academy 4 دروس في المجموع.

ماذا ستتعلم في «TRIM وLPAD وRPAD»؟

نظّف المسافات البيضاء باستخدام TRIM وLTRIM وRTRIM، وأضف حشوًا إلى المعرّفات ذات العرض الثابت باستخدام LPAD وRPAD. تتمرن على SQL Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ SQL Academy؟

لا تُشترط خبرة سابقة. SQL Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «TRIM وLPAD وRPAD»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس SQL Academy هذا؟

نعم. كل درس في SQL Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الضم: || وCONCAT
  2. UPPER وLOWER وSUBSTRING وREPLACE
  3. TRIM وLPAD وRPAD
  4. مقدمة إلى البحث في النص الكامل (tsvector وto_tsquery)
← العودة إلى SQL Academy