более одной привязки для одного атрибута в одинаковых условиях SQL, пытаясь высушить его - PullRequest
1 голос
/ 03 января 2011

Не это:

"height like '%1%' or height like '%2%' or height like '%5%'"

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

Они не в порядке, они случайны.

Как этот sql можно упростить?

Примерно так:

"height like ('%2%' or '%1%' or '%5%')

Код является лишь примером.

Я не ищу предложений по инъекции.

Ответы [ 2 ]

1 голос
/ 03 января 2011

Нет эквивалента IN для LIKE.Ваш первый метод - правильный подход.

WHERE (height LIKE '%foo%' OR height LIKE '%bar%' OR height LIKE '%baz%')

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

0 голосов
/ 03 января 2011

Ну, я думаю, что опция SQL in решит вашу проблему.

высота в («% 2%», «% 1%», «% 5%»)

Это предполагает, что ваши переменные всегда будут иметь значения, поэтому убедитесь, что ваши значения по умолчанию являются действительными значениями в БД!

...