UPPER وLOWER وSUBSTRING وREPLACE
وحّد حالة الأحرف، واقطع السلاسل الفرعية حسب الموضع والطول، واستبدل الأنماط داخل النص.
UPPER وLOWER وSUBSTRING وREPLACE درس مجاني في SQL Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SQL Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SQL Academy 4 دروس في المجموع.
تحويل حالة الأحرف
دالتان أساسيتان:
SELECT UPPER('hello'); -- HELLO
SELECT LOWER('Hello'); -- hello
SELECT INITCAP('hello world'); -- 'Hello World' (PostgreSQL extension)لماذا نوحّد حالة الأحرف
ينبغي أن تكون مقارنة البريد الإلكتروني غير حساسة لحالة الأحرف، مع الحفاظ على حالة الأحرف عند التخزين. وحّد الحالة وقت المقارنة:
SELECT * FROM users WHERE LOWER(email) = LOWER('USER@Example.COM');
-- Or use a functional index:
CREATE INDEX users_email_lower_idx ON users (LOWER(email));Citext: نوع نصي غير حساس لحالة الأحرف
بالنسبة إلى عمود ينبغي أن تكون المقارنة فيه غير حساسة لحالة الأحرف دائمًا، استخدم الامتداد citext:
CREATE EXTENSION IF NOT EXISTS citext;
CREATE TABLE users (email CITEXT UNIQUE);SUBSTRING
استخرج سلسلة فرعية بتحديد موضع البداية والطول:
SELECT SUBSTRING('PostgreSQL', 1, 4); -- 'Post'
SELECT SUBSTRING('PostgreSQL' FROM 5); -- 'greSQL'
-- 1-based indexing, not 0-basedSUBSTRING باستخدام Regex
يقبل PostgreSQL أيضًا نمط Regex:
SELECT SUBSTRING('user@example.com' FROM '@(.+)$');
-- 'example.com'LEFT وRIGHT
اختصارات لـ«أول N» و«آخر N»:
SELECT LEFT('PostgreSQL', 4); -- 'Post'
SELECT RIGHT('PostgreSQL', 3); -- 'SQL'REPLACE
استبدل كل تكرار لسلسلة فرعية:
SELECT REPLACE('hello world', 'world', 'SQL'); -- 'hello SQL'
SELECT REPLACE(phone, '-', ''); -- strip dashesREGEXP_REPLACE
استبدل باستخدام نمط:
SELECT REGEXP_REPLACE('Order #1234', '[^0-9]', '', 'g'); -- '1234'
SELECT REGEXP_REPLACE(text, '\s+', ' ', 'g'); -- collapse whitespaceLENGTH وCHAR_LENGTH
الطول بالمحارف، وليس بالبايتات (مع مراعاة Unicode):
SELECT LENGTH('héllo'); -- 5
SELECT CHAR_LENGTH('héllo'); -- 5
SELECT OCTET_LENGTH('héllo'); -- 6 (UTF-8 byte length)POSITION وSTRPOS
اعثر على موضع سلسلة فرعية:
SELECT POSITION('SQL' IN 'PostgreSQL'); -- 8
SELECT STRPOS('PostgreSQL', 'SQL'); -- 8REVERSE
اعكس سلسلة نصية:
SELECT REVERSE('hello'); -- 'olleh'مراجعة
تغطي معالجة حالة الأحرف والسلاسل الفرعية والاستبدال معظم عمليات معالجة النصوص.
- LOWER/UPPER لتوحيد الحالة
- SUBSTRING لتقطيع السلاسل
- REPLACE للاستبدالات الثابتة، وREGEXP_REPLACE للأنماط
تحقق سريع
ما القيمة التي يعيدها SUBSTRING('database', 5, 4)؟
الأسئلة الشائعة
هل درس «UPPER وLOWER وSUBSTRING وREPLACE» مجاني؟
نعم — نص درس «UPPER وLOWER وSUBSTRING وREPLACE» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SQL Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SQL Academy 4 دروس في المجموع.
ماذا ستتعلم في «UPPER وLOWER وSUBSTRING وREPLACE»؟
وحّد حالة الأحرف، واقطع السلاسل الفرعية حسب الموضع والطول، واستبدل الأنماط داخل النص. تتمرن على SQL Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ SQL Academy؟
لا تُشترط خبرة سابقة. SQL Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «UPPER وLOWER وSUBSTRING وREPLACE»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس SQL Academy هذا؟
نعم. كل درس في SQL Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الضم: || وCONCAT
- UPPER وLOWER وSUBSTRING وREPLACE
- TRIM وLPAD وRPAD
- مقدمة إلى البحث في النص الكامل (tsvector وto_tsquery)