В чем разница между "LIKE" и "=" в SQL? - PullRequest
41 голосов
/ 01 октября 2009

Есть ли разница между:

SELECT * FROM users WHERE username="davyjones"

и

SELECT * FROM users WHERE username LIKE "davyjones"

(мне кажется, я запутался в синтаксисе ... простите за это,
Я в основном разработчик настольных приложений)

Ответы [ 13 ]

0 голосов
/ 29 ноября 2009

Like заставляет вас работать с подстановочными операторами, вы можете использовать его в вашем случае для like 'davyjon%', чтобы получить все результаты, начиная с davyjon, и для получения точного значения, которое вы можете поставить 'davyjones', и вы может также использовать = в этом случае

0 голосов
/ 01 октября 2009

Насколько я знаю, нет никакой разницы, кроме затрат времени на два выбранных вами выбора. Обычно используется LIKE вместе с %, что означает «любая строка». Я думаю, что есть также символ, который можно использовать с LIKE для «любого персонажа», не знаю, что это такое, без поиска в Google.

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

0 голосов
/ 01 октября 2009

равно '=' только для равенства. С другой стороны, LIKE поддерживает сопоставление с подстановочными знаками SQL.

Итак, с LIKE вы можете сделать name like '%jones', чтобы получить все имена, оканчивающиеся на jones. При LIKE символ процента '%' - это что угодно, длина ноль или более, а символ подчеркивания '_' - это любой один символ.

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