মূল কন্টেন্টে যান
মডিউল 6 · 1-এর পাঠ 4কোর্সে 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' (কলাম full_name) হিসাবে দেখান। আইডি দিয়ে অর্ডার করুন।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

প্রথম কলামের জন্য নিম্ন, || মধ্যে একটি স্থান সঙ্গে সংযুক্ত করা

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

ব্যায়াম পর্যালোচনা করুন

ব্যায়াম#sql.m6.l1.e2
প্রচেষ্টা: 0লোড হচ্ছে...

নামের মধ্যে 'ল্যাপটপ' শব্দটি (যেকোন ক্ষেত্রে) আছে এমন সমস্ত পণ্য খুঁজুন। শুধুমাত্র নাম কলাম দেখান. নাম অনুসারে অর্ডার করুন।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

ILIKE কেস-সংবেদনশীল। যেকোনো অবস্থানে 'ল্যাপটপ' এর সাথে মিল রাখতে '% laptop%' ব্যবহার করুন।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ