با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره آموزش کامل SQL را دنبال می کنند. بعضی مواقع، شاید شما بخواهید که داده هایی را که از الگوی خاصی تبعیت می کنند را در جداول ، جستجو کنید. به عنوان مثال شاید خواسته باشید مقادیری از یک فیلد را که با حرف “A” شروع می شوند. را استخراج کنید.در ادامه ی این آموزش ما چگونگی انجام چنین جستجوهایی را در مبحث آشنایی با عملگر LIKE در SQL ، بررسی خواهیم کرد.
از عملگر LIKE که در دستور WHERE از آن استفاده می شود. برای جستجویی مقادیری با یک الگوی خاص، استفاده می شود.
در عملگر LIKE از دو کاراکتر برای مشخص کردن الگوی جستجو، استفاده می شود:
نکته: در بانک اطلاعاتی Access از (؟) به جای (_) استفاده می شود.
همچنین کاراکتر درصد(٪ ) و زیر خط کش( _ ) نیز می تواند در ترکیب استفاده شود.
ساختار عملگر LIKE:
1 2 3 | SELECT column1, column2, ... FROM table_name WHERE columnN LIKE pattern; |
نکته: شما همچنین می توانید هر تعداد شرایط را با استفاده از عملگرهای AND یا OR ترکیب کنید.
در جدول زیر، مثال هایی از عمگر LIKE و توضیحات هر یک را، قرار داده ایم:
LIKE Operator | توضیحات |
---|---|
WHERE CustomerName LIKE 'a%' | تمام مقادیری که با حرف “a” شروع شده باشد را پیدا می کند. |
WHERE CustomerName LIKE '%a' | تمام مقادیری که با حرف “a” شروع شده باشد را پیدا می کند. |
WHERE CustomerName LIKE '%or%' | تمام مقادیری را که دارای حرف “or” باشند را پیدا می کند. |
WHERE CustomerName LIKE '_r%' | تمام مقادیری را که در کاراکتر دوم خود حرف “r” را داشته باشند را پیدا می کند. |
WHERE CustomerName LIKE 'a_%_%' | تمام مقادیری را که با حرف “a” شروع شده و طول آن کمتر از ۳ کارکتر باشد را پیدا می کند. |
WHERE ContactName LIKE 'a%o' | تمام مقادیری را که شروع آن با حرف “a” و پایان آن “o” باشد را پیدا می کند. |
جدول زیر ، بخشی از رکوردهای جدول “Customers” است. که ما در مثال های این آموزش، از آن استفاده خواهیم کرد.
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
۱ | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | ۱۲۲۰۹ | Germany |
۲ | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | ۰۵۰۲۱ | Mexico |
۳ | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | ۰۵۰۲۳ | Mexico |
۴ | Around the Horn | Thomas Hardy | ۱۲۰ Hanover Sq. | London | WA1 1DP | UK |
۵ | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
مثال زیر تمام رکوردهای جدول Customers که فیلد CustomerName آن ها با حرف “a” شروع شده باشد را نمایش می دهد:
1 2 | SELECT * FROM Customers WHERE CustomerName LIKE 'a%'; |
مثال زیر تمام رکوردهای جدول Customers که فیلد CustomerName آن ها با حرف “a” تمام شده باشد را نمایش می دهد:
1 2 | SELECT * FROM Customers WHERE CustomerName LIKE '%a'; |
مثال زیر تمام رکوردهای جدول Customers که فیلد CustomerName آن ها، دارای حروف “or” باشد، را نمایش می دهد:
1 2 | SELECT * FROM Customers WHERE CustomerName LIKE '%or%'; |
مثال زیر تمام رکوردهای جدول Customers که فیلد CustomerName آن ها، با حرف “a” شروع شده و طول آن کمتر از ۳ کارکتر باشد را پیدا می کند:
1 2 | SELECT * FROM Customers WHERE CustomerName LIKE 'a_%_%'; |
مثال زیر تمام رکوردهای جدول Customers که در مقادیر فیلد CustomerName آن ها، شروع آن با حرف “a” و پایان آن “o” باشد، را پیدا می کند:
1 2 | SELECT * FROM Customers WHERE ContactName LIKE 'a%o'; |
مثال زیر تمام رکوردهای جدول Customers که فیلد CustomerName آن ها، با حرف “a” شروع شده باشد را پیدا می کند:
1 2 | SELECT * FROM Customers WHERE CustomerName NOT LIKE 'a%'; |
در این بخش ما چگونگی جستجوی مقادیری با یک الگوی خاص را در جداول SQL ، ارائه کردیم.
همچنین از چندین مثال برای درک بهتر مطالب، استفاده کردیم.
امیدواریم که مباحث آشنایی با عملگر LIKE در SQL ، مورد استفاده ی شما قرار گرفته باشد.
رضا
سلام ، در جمله “تمام مقادیری را که با حرف “a” شروع شده و طول آن کمتر از ۳ کارکتر باشد را پیدا می کند” کارکتر یک “ا” کم دارد ، در ضمن می تونید به جای واژه کاراکتر از معادل پارسی اون (در اینجا یعنی “نویسه”) استفاده کنید.
باتشـــکر