কম্পিউটার টিউটোরিয়াল

SQL Server-এ LIKE কন্ডিশন

SQL Server (Transact-SQL)-এ LIKE কন্ডিশন WHERE ক্লজে ওয়াইল্ডকার্ড ব্যবহার করার অনুমতি দেয় SELECT, INSERT, UPDATE এবং DELETE স্টেটমেন্টে, প্যাটার্ন মিলানোর জন্য।

LIKE কন্ডিশন সিনট্যাক্স

'bieu_thuc' LIKE 'maau' [ ESCAPE 'Escape_Character' ]

ভেরিয়েবল নাম বা মান

bieu_thuc

কলাম বা ইনফরমেশন ফিল্ড যেন ক্যারেক্টার এক্সপ্রেশন।

maau

মিলানো প্যাটার্ন ধারণকারী ক্যারেক্টার ফরম্যাট। প্যাটার্ন নিচের টেবিল থেকে নির্বাচন করা যায়।

প্রতীকব্যাখ্যা
%যেকোনো দৈর্ঘ্যের ক্যারেক্টার স্ট্রিং খুঁজে (দৈর্ঘ্য ০ সহ)
_একটি ক্যারেক্টার খুঁজে
[]ব্র্যাকেটের ভেতরের যেকোনো একটি ক্যারেক্টার খুঁজে
[^]ব্র্যাকেটের ভেতরের ক্যারেক্টার গুলো বাদে যেকোনো ক্যারেক্টার খুঁজে (যেমন [^abc] হল a, b বা c বাদে যেকোনো ক্যারেক্টার)

Escape Character

ঐচ্ছিক। এসকেপ ক্যারেক্টার আপনাকে চেক করতে দেয় যে % বা _ যেন ক্যারেক্টারগুলো লিটারালি (কনস্ট্যান্ট রূপে) ব্যবহার করা হচ্ছে, কিন্তু স্পেশাল ক্যারেক্টার হিসেবে নয়।

উদাহরণ - ওয়াইল্ডকার্ড % ব্যবহার

SQL Server-এ LIKE কন্ডিশনে ওয়াইল্ডকার্ড % ব্যবহার, উদাহরণস্বরূপ 'B' অক্ষর দিয়ে শুরু হওয়া কর্মচারী খুঁজে।

SELECT *
FROM nhanvien
WHERE ho LIKE 'B%';

% ক্যারেক্টার একই স্ট্রিং-এ একাধিকবার ব্যবহার করা যায় নিচের উদাহরণের মত।

SELECT *
FROM nhanvien
WHERE ho LIKE '%o%';

ফলাফল হবে 'o' অক্ষর ধারণকারী কর্মচারী।

উদাহরণ - ওয়াইল্ডকার্ড _ ব্যবহার

লক্ষ্য করুন _ ক্যারেক্টার শুধু ১ ক্যারেক্টার (দৈর্ঘ্য ১) খুঁজতে ব্যবহৃত হয়।

SELECT *
FROM nhanvien
WHERE ho LIKE 'Ad_m';

এই উদাহরণে, ফেরত দেওয়া ফলাফল হবে ৪ অক্ষরের উপনাম বা নাম, যেখানে প্রথম দুটি অক্ষর 'Ad' এবং শেষ অক্ষর 'm'। উদাহরণ: Adam, Adem, Adim, Adom।

একটি আরো উদাহরণ

SELECT *
FROM nhanvien
WHERE so_nhanvien LIKE '123_';

আপনি ৪ ডিজিটের মধ্যে শুধু প্রথম ৩টি খুঁজছেন। উপরের উদাহরণে, ফলাফলে ১০ রেকর্ড থাকবে, মান ০ থেকে ৯: 1230, 1231, 1232 ...

উদাহরণ - ওয়াইল্ডকার্ড [] ব্যবহার

ব্র্যাকেটের ভেতরে যা আছে সেটি আপনি চান এবং প্যাটার্ন মিলাবে।

SELECT *
FROM nhanvien
WHERE ten LIKE 'Sm[iy]th';

এই উদাহরণে ফেরত দেওয়া ফলাফল হবে ৫ অক্ষরের নাম যেনার মধ্যে প্রথম দুটি 'Sm' এবং শেষ দুটি 'th', মাঝপথের অক্ষর 'i' বা 'y' হতে পারে। তাই ফলাফল হতে পারে Smith বা Smyth।

উদাহরণ - ওয়াইল্ডকার্ড [^] ব্যবহার

ব্র্যাকেটের ভেতরে যা আছে সেগুলো আপনি চান না এবং প্যাটার্ন মিলাবে না।

SELECT *
FROM nhanvien
WHERE ten LIKE 'Smy[^iy]th';

ফলাফল হিসেবে, ৫ অক্ষরের নাম যেনার মধ্যে প্রথম দুটি 'Sm', শেষ দুটি 'th' এবং মাঝপথের অক্ষর 'i' নয় 'y' নয়। ফলাফল হতে পারে Smath, Smeth।

উদাহরণ - NOT অপারেটর ব্যবহার

SQL Server-এ NOT অপারেটর ওয়াইল্ডকার্ডের সাথে ব্যবহারের পদ্ধতি। LIKE কন্ডিশন দিয়ে 'B' অক্ষর দিয়ে শুরু না হওয়া কর্মচারীর উপনাম খুঁজে।

SELECT *
FROM nhanvien
WHERE ho NOT LIKE 'B%';

LIKE কন্ডিশনের আগে NOT অপারেটর রাখলে 'B' দিয়ে শুরু না হওয়া উপনাম খুঁজে পাবেন।

উদাহরণ - Escape Character (এস্কেপ ক্যারেক্টার) ব্যবহার

প্যাটার্ন কমপেয়ার করার সময় এস্কেপ ক্যারেক্টার গুরুত্বপূর্ণ, যাতে স্পেশাল ক্যারেক্টার গুলো কনস্ট্যান্ট ভ্যালু হিসেবে ব্যবহার করার সময় ভুল বুঝানো না হয়।

উদাহরণস্বরূপ, আপনি a% বা a_ ক্যারেক্টার খুঁজতে চান।

লক্ষ্য করুন শুধু ১ ক্যারেক্টার দিয়ে এস্কেপ ক্যারেক্টার ডিফাইন করা যায় (দৈর্ঘ্য ১)।

SELECT *
FROM nhanvien
WHERE secret_hint LIKE '123!%455' ESCAPE '!';

এই কমান্ড secret_hint 123%455 যেসব কর্মচারীর তাদের রিটার্ন করবে। % ক্যারেক্টার আর পূর্বের অর্থে ব্যবহার হচ্ছে না বরং একটি সাধারণ ক্যারেক্টার হিসেবে।

একটি আরও জটিল উদাহরণ।

SELECT *
FROM nhanvien
WHERE secret_hint LIKE 'H%!%' ESCAPE '!';

LIKE কন্ডিশনের ফেরত দেওয়া ফলাফল হবে যেসব কর্মচারীর secret_hint 'H' দিয়ে শুরু এবং '%' দিয়ে শেষ, যেন 'Help%'।

আপনি LIKE কন্ডিশনে পুরো _ ক্যারেক্টারের সাথে এস্কেপ ক্যারেক্টার ব্যবহার করতে পারেন।

SELECT *
FROM nhanvien
WHERE secret_hint LIKE 'H%!_' ESCAPE '!';

এই উদাহরণ যেসব কর্মচারীর secret_hint 'H' দিয়ে শুরু এবং '_' দিয়ে শেষ, যেন 'Help_' তাদের রিটার্ন করবে।

  1. SQL Server-এ NOT কন্ডিশন

  2. SQL Server-এ OR কন্ডিশন

  3. SQL Server-এ AND কন্ডিশন

  4. MS SQL Server কী?