رفتن به مطلب

اپراتور 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 کاربر

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