В SQL нямаме достъп до оператора StartsWith(), който може да ни позволи да извършим текстово филтриране чрез включване или изключване на всяка стойност, която започва с конкретен модел.
Въпреки това, в бази данни като MySQL, можем да използваме оператора LIKE, който ни позволява да извършваме основно същите операции
В този урок ще ви преведем през всичко, което трябва да знаете, когато работите с оператора LIKE. Започваме с основите и след това преминаваме към по-сложни и практични приложения.
ЗАБЕЛЕЖКА: За този урок ще демонстрираме как да използваме този оператор с помощта на базата данни MySQL, по-специално MySQL версия 80. Но това трябва да работи и на MySQL 5.0.
MySQL LIKE оператор
В SQL ние използваме оператора LIKE, за да филтрираме редовете от дадена таблица въз основа на конкретния знак или набор от знаци, които низът започва с определен префикс.
Обичаен случай на употреба е извличането на записите, които съответстват на определен модел в началото на стойността на колона.
Често използваме връзката на оператора LIKE с оператора SELECT, за да извлечем данните, които отговарят на зададените критерии.
Въпреки че синтаксисът и форматирането може да варират в зависимост от това как се използва операторът, по-долу е показан основният синтаксис на оператора в оператор SELECT:
ИЗБЕРЕТЕ колона1, колона2, ...ОТ име_таблица
WHERE име на колона LIKE 'префикс%' ;
В дадения синтаксис:
- колона1, колона2, …: – Това представлява колоните, от които искаме да извлечем данните.
- table_name – Това задава името на таблицата, която искаме да направим заявка.
- column_name – Това дефинира името на колоната, която искаме да филтрираме.
- „префикс%“ – Имаме префикс, който ни позволява да посочим модел, който искаме да търсим, където „%“ представлява нула или повече знаци.
Примерна употреба: Намерете филмите, които започват с Z
Нека да разгледаме по-практични примери как да използвате този оператор за по-добро разбиране. За демонстрационни цели използваме примерната база данни MySQL Sakila.
Чувствайте се свободни да го изтеглите и инсталирате или да използвате свой собствен набор от данни.
Нека вземем например таблицата „film“ от базата данни Sakila. Да предположим, че искаме да намерим филм, чието заглавие започва с буквата „Z“. Можем да изпълним запитване, както следва:
ИЗБЕРЕТЕ заглавие, рейтингОТ филм f
WHERE заглавие LIKE 'С%' ;
В тази заявка използваме оператора LIKE, за да извлечем записите, където заглавието на филма започва с буквата „Z“. В префикса използваме буквата Z със заместващия знак „%“, който обозначава един или повече символи.
Резултатът е както следва:
Заключение
В този урок научихме как можем да използваме оператора LIKE на MySQL, за да извършим съпоставянето на знаци. Това включва използването на заместващ знак „%“ за търсене на модели в началото на стойността на колона.