LIKE в основном то же самое, что и =, за исключением того, что LIKE позволяет использовать подстановочные знаки.
Эти два запроса будут возвращать те же результаты:
SELECT * FROM table WHERE col LIKE 'xyz';
SELECT * FROM table WHERE col='xyz';
Без «%» в LIKE запросе, это фактически то же самое, как «=».
Если вы делаете выделение на целочисленном столбце, вам следует рассмотреть возможность использования операторов IN() или BETWEEN. Похоже, что у вас есть два отдельных условия, которые нужно обрабатывать в коде, а не в запросе, так как ваши условия диктуют, что вам нужны как минимум два разных типа запросов.
Редактировать: Я должен уточнить, что LIKE и = аналогичны только в обычном, обычном использовании сравнения строк. Вы должны проверить MySQL Manual на предмет того, как это работает, поскольку есть ситуации, когда это не то же самое (например, языковые наборы).
Спасибо, именно то, что я искал. Будет обрабатывать его в коде и изменять запрос, чтобы включить это конкретное предложение WHERE, если и когда это необходимо. – Dan
Поддерживает ли MySQL МЕЖДУ? Я думал, что это просто TSQL –
@Joe: BETWEEN - это стандартный SQL. Я никогда не встречал ни одной системы, поддерживающей SQL, которая не поддерживает BETWEEN. –