Подстановочный поиск в SQL - PullRequest
3 голосов
/ 28 марта 2012

Я столкнулся с несколькими запросами, которые используют это условие условия:

select ...
where Name like '%'

Есть ли цель использовать такой символ подстановки?

Ответы [ 2 ]

5 голосов
/ 28 марта 2012

WHERE Name LIKE '%' эквивалентно WHERE Name IS NOT NULL (по крайней мере, в тех тестах, которые я проводил).Последнее, возможно, более эффективно, и IMO намного легче понять намерения, но я предполагаю, что like '%' экономит несколько нажатий клавиш.В любом случае, это не просто наполнитель.

1 голос
/ 28 марта 2012

Вероятно, нет, разве есть какой-то крайний случай, о котором я не знаю, как обрабатывается текстовый поиск. Я бы провел эксперимент, чтобы увидеть, что он делает, если имя равно NULL, если бы я был рядом с клиентом MySQL.

Я видел некоторый код, который использует запросы с "... where 1 = 1" только потому, что было проще вывести бессмысленное предложение where, чем иметь дело со случаями, когда предложение where отсутствует в сгенерированных запросах. Или я имел обыкновение быть значимым условием, которое было удалено в некотором редактировании.

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