مرکزی مواد پر جائیں
ماڈیول 6 · سبق 1 از 4کورس میں 21/57~12 min
ماڈیول اسباق (1/4)

سٹرنگ کے افعال

پوسٹگری ایس کیو ایل میں تاروں کو جوڑ توڑ کے لیے درجنوں فنکشنز ہیں۔ اس سبق میں ہم حقیقی کام میں سب سے زیادہ عام کو دیکھتے ہیں: نارملائزنگ (LOWER/UPPER)، پیمائش (LENGTH)، تحریر (|| / CONCAT)، نکالنا (SUBSTRING)، صفائی (TRIM)، متبادل (REPLACE)، اور پیٹرن کی تلاش (LIKE / ILIKE)۔

فنکشنز جو ہم استعمال کریں گے۔

SQL
LOWER('Alice')                -- 'alice'
UPPER('alice')                -- 'ALICE'
LENGTH('alice')               -- 5
'a' || 'b'                    -- 'ab'  (concatenazione)
CONCAT('a', 'b', 'c')         -- 'abc' (versione "funzione")
SUBSTRING('hello' FROM 2 FOR 3) -- 'ell'
TRIM(' alice ')               -- 'alice'
REPLACE('foo bar', 'bar','x') -- 'foo x'

|| کنکیٹیٹنگ سٹرنگز کے لیے معیاری SQL آپریٹر ہے۔ CONCAT ہے زیادہ اجازت دینے والا (یہ NULLs کو نظر انداز کرتا ہے، جبکہ || ان کی تشہیر کرتا ہے: 'a' || NULL → NULL)۔

LIKE اور ILIKE: پیٹرن کے لحاظ سے تلاش کرنا

LIKE ایک نمونہ تلاش کرتا ہے: % = کوئی ترتیب، _ = ایک کردار یہ کیس حساس ہے۔ ILIKE PostgreSQL ہے۔ کیس غیر حساس متغیر:

SQL
WHERE name LIKE  '%Cuffie%'   -- match esatto "Cuffie"
WHERE name ILIKE '%cuffie%'   -- match anche "CUFFIE", "Cuffie", "cuffie"
WHERE email LIKE  '%@example.com'
WHERE first_name LIKE 'A_____'  -- inizia per A, lungo 6 (A + 5 caratteri)

پیٹرن کے اندر لفظی % یا _ تلاش کرنے کے لیے، استعمال کریں ESCAPE:

SQL
WHERE titolo LIKE '%50\%%' ESCAPE '\';   -- contiene "50%"

افعال کو یکجا کرنا

افعال کسی بھی زبان کی طرح کمپوز:

SQL
-- Email "normalizzata" e iniziali in maiuscolo:
SELECT LOWER(email) AS email_norm,
       UPPER(SUBSTRING(first_name FROM 1 FOR 1)) || '.'
       || UPPER(SUBSTRING(last_name  FROM 1 FOR 1)) || '.' AS iniziali
FROM   customers
ORDER BY id;

اسے آزمائیں

ورزش#sql.m6.l1.e1
کوششیں: 0لوڈ ہو رہا ہے…

ہر صارف کے لیے، ای میل کو چھوٹے حروف میں دکھائیں (کالم ای میل) اور پورا نام بطور 'first_name last_name' (کالم مکمل_نام)۔ آئی ڈی سے آرڈر کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

پہلے کالم کے لیے LOWER، || درمیان میں جگہ کے ساتھ جوڑنا۔

3 کوششوں کے بعد حل دستیاب ہے۔

ورزش کا جائزہ لیں۔

ورزش#sql.m6.l1.e2
کوششیں: 0لوڈ ہو رہا ہے…

وہ تمام مصنوعات تلاش کریں جن کے نام میں لفظ 'لیپ ٹاپ' (کسی بھی صورت میں) ہو۔ صرف نام کا کالم دکھائیں۔ نام سے آرڈر کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

ILIKE کیس غیر حساس ہے۔ کسی بھی پوزیشن میں 'لیپ ٹاپ' سے ملنے کے لیے '%laptop%' استعمال کریں۔

3 کوششوں کے بعد حل دستیاب ہے۔