رفتن به مطلب

اپراتور LIKE در SQLite


arastooms

ارسال‌های توصیه شده

اپراتور LIKE در SQLite

 

هنگامی که بخواهیم یک رشته را با الگویی مقایسه کنیم از این اپراتور استفاده میکینم . اگر رشته ما با الگوی تعیین شده مطابقت داشت اپراتور LIKE مقدار true برمیگرداند و اگر خیر مسلما نتیجه false خواهد بود

دو کاراکتر هستند که برای ساختن الگوی مقایسه در اپراتور LIKE بکارمیروند که عبارتند از : 
علامت درصد % (percent sign (%) ) و The underscore (_)

علامت درصد معرف صفر،یک و یا چند کاراکتر است و "_" (یا همان اندرلاین خودمان) معرف یک کاراتر و یا یک عدد می باشد. به الگو های ذیل توجه کنید :

me 
WHERE column LIKE 'XXXX%'
or 
SELECT FROM table_name
WHERE column LIKE '%XXXX%'
or
SELECT FROM table_name
WHERE column LIKE 'XXXX_'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX_'

 

در مثال های بالا XXXX معرف هر رشته کاراکتری و یا عددی می باشد . 
مثالهای ذیل موضوع را بیشتر روشن خواهند کرد.

توضیح عبارت
تمامی مقادیری را که با 200 شروع شوند می یابد WHERE SALARY LIKE '200%'
تمامی مقادیری را می یابد که 200 را در هر موقعیت داشته باشد.مهم نیست که قبل و بعد 200 کاراکتری باشد فقط کافیست رشته حاوی 200 باشد WHERE SALARY LIKE '%200%'
تمامی مقادیری را می یابد که 00 را در موقعیت دوم و سومشان داشه باشند WHERE SALARY LIKE '_00%'
تمامی مقادیری را می یابد که با 2 شروع شوند و حداقل شامل 3 کاراکتر باشند WHERE SALARY LIKE '2_%_%'
تمامی مقادیر که با 2 پایان یابند WHERE SALARY LIKE '%2'
تمامی مقادیری که حاوی 2 در موقعیت دوم بوده و با 3 پایان یابند WHERE SALARY LIKE '_2%3'
تمامی مقادیر دارای 5 رقم که با 2 شروع شده و با 3 پایان یابند WHERE SALARY LIKE '2___3'

حالا یک مثال واقعی ، جدول COMPANY را به خاطر بیاورید.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
                                    
sqlite> SELECT * FROM COMPANY WHERE AGE LIKE '2%';

یعنی تمام رکورد هایی را بیاور که فیلد AGE انها با عدد 2 شروع شود:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0


 

تمرین : سلکتی بنویسید که از رکورد های جدول COMPANY انهایی را در در فیلد آدرسشان "-" وجود دارد را لیست کند

sqlite> SELECT * FROM COMPANY WHERE ADDRESS LIKE '%-%';

و نتیجه به شکل ذیل خواهد بود: 

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
4           Mark        25          Rich-Mond   65000.0
6           Kim         22          South-Hall  45000.0

 

 

 

منبع این آموزش

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...