جستجوي كاراكترهاي ويژه در SQL SERVER

در عبارت هاي جستجو كاراكترهاي خاصي وجود دارند كه به آنها wildcard ميگن يا كاراكترهاي جايگزين شونده

حالا مشكلي كه در تمام عبارت هاي جستجو با اون روبرو هستيم جستجو كردن همون wildcard هاس فرض كنيد ميخواهيد كوئري بنويسيد كه تمامي  ركورد هاي كه شامل % هست رو برگردونه

شايد اول روشي كه به فكر برسه  تكرار 2 باره % تو عبارت جستجو باشه ولي اين روش جواب نميده

SELECT * FROM myTable WHERE myField LIKE '%%%%'

در Sql Server  به 2 روش ميشه اين كار رو انجام داد

استفاده از كروشه []

SELECT * FROM myTable WHERE myField LIKE '%[%]%'

استفاده از عملگر ESCAPE

SELECT * FROM myTable WHERE myField LIKE '%!%%' ESCAPE '!'

تو اين روش با كاراكتر بعد از حرف ESCAPE (در اينجا !) مثل يك حرف معمولي رفتار ميشه نه wildcard  يا كاراكترهاي جايگزين شونده

منابع: + و +

نظرات

پست‌های معروف از این وبلاگ

lnav ابزاری بسیار کاربردی برای پیمایش لاگ ها در لینوکس و البته مک

ساختن ایمیج های داکری به کمک BuildKit - بخش دوم

ساختن ایمیج های داکری به کمک BuildKit - بخش اول