Разница между LIKE и = в MYSQL? - PullRequest
17 голосов
/ 16 июня 2009

Какая разница между

SELECT foo FROM bar WHERE foobar='$foo'

И

SELECT foo FROM bar WHERE foobar LIKE'$foo'

Ответы [ 12 ]

0 голосов
/ 16 июня 2009

В вашем примере они семантически равны и должны возвращать одинаковые выходные данные.

Однако, LIKE даст вам возможность сопоставления с шаблонами с подстановочными знаками.

Следует также отметить, что = может дать вам повышение производительности в некоторых системах, поэтому, если вы, например, ищете номер exakt, = будет предпочтительным методом.

0 голосов
/ 16 июня 2009

Немного о Google не больно ...

Предложение WHERE со знаком равенства (=) работает нормально, если мы хотим сделать точное совпадение. Но может быть требование, когда мы хотим отфильтровать все результаты, где «foobar» должен содержать «foo». Это можно сделать с помощью предложения SQL LIKE вместе с предложением WHERE.

Если предложение SQL LIKE используется вместе с символами%, оно будет работать как подстановочный знак.

SELECT foo FROM bar WHERE foobar LIKE'$foo%'

Без символа% предложение LIKE очень похоже на знак равенства вместе с предложением WHERE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...