मॉड्यूल पाठ (1/4)
स्ट्रिंग फ़ंक्शन
PostgreSQL में स्ट्रिंग्स में हेरफेर करने के लिए दर्जनों फ़ंक्शन हैं। इस पाठ में
हम वास्तविक कार्य में सबसे आम चीज़ों को देखते हैं: सामान्यीकरण (LOWER/UPPER),
मापना (LENGTH), लिखना (|| / CONCAT), निकालना (SUBSTRING),
सफाई (TRIM), प्रतिस्थापन (REPLACE), और पैटर्न खोज
(LIKE / ILIKE)।
हम जिन फ़ंक्शंस का उपयोग करेंगे
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 PostgreSQL है
केस-असंवेदनशील वैरिएंट:
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 का उपयोग करें:
WHERE titolo LIKE '%50\%%' ESCAPE '\'; -- contiene "50%"कार्यों का संयोजन
फ़ंक्शंस किसी भी भाषा की तरह बनते हैं:
-- 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;इसे अजमाएं
प्रत्येक ग्राहक के लिए, ईमेल को छोटे अक्षरों में (कॉलम ईमेल) और पूरा नाम 'पहला_नाम अंतिम_नाम' (कॉलम पूरा_नाम) दिखाएं। आईडी द्वारा ऑर्डर करें.
संकेत दिखाएँ
पहले कॉलम के लिए निचला, || बीच में एक स्थान के साथ जुड़ना।
3 प्रयासों के बाद समाधान उपलब्ध है
व्यायाम की समीक्षा करें
वे सभी उत्पाद ढूंढें जिनके नाम में 'लैपटॉप' (किसी भी स्थिति में) शब्द शामिल है। केवल नाम कॉलम दिखाएँ. नाम से ऑर्डर करें.
संकेत दिखाएँ
ILIKE केस-असंवेदनशील है। किसी भी स्थिति में 'लैपटॉप' से मिलान करने के लिए '%laptop%' का उपयोग करें।
3 प्रयासों के बाद समाधान उपलब्ध है