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_' তাদের রিটার্ন করবে।