ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 6 · 4లో పాఠం 1కోర్సులో 21/57~12 min
మాడ్యూల్ పాఠాలు (1/4)

స్ట్రింగ్ విధులు

PostgreSQL స్ట్రింగ్‌లను మానిప్యులేట్ చేయడానికి డజన్ల కొద్దీ ఫంక్షన్‌లను కలిగి ఉంది. ఈ పాఠంలో మేము నిజమైన పనిలో సర్వసాధారణమైన వాటిని పరిశీలిస్తాము: సాధారణీకరణ (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' (column full_name)గా చూపండి. ID ద్వారా ఆర్డర్ చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

మొదటి నిలువు వరుస కోసం దిగువ, || మధ్యలో ఖాళీతో సంగ్రహించడానికి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం సమీక్షించండి

వ్యాయామం#sql.m6.l1.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

పేరులో 'ల్యాప్‌టాప్' (ఏదైనా సందర్భంలో) అనే పదాన్ని కలిగి ఉన్న అన్ని ఉత్పత్తులను కనుగొనండి. పేరు నిలువు వరుసను మాత్రమే చూపు. పేరు ద్వారా ఆర్డర్ చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

ILIKE అనేది కేస్-సెన్సిటివ్. ఏ స్థానంలోనైనా 'ల్యాప్‌టాప్'తో సరిపోలడానికి '%laptop%'ని ఉపయోగించండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది