Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL Wildcard para =- existe um


LIKE é basicamente o mesmo que =, exceto que LIKE permite que você use curingas.

Essas duas consultas retornarão os mesmos resultados:
SELECT * FROM table WHERE col LIKE 'xyz';
SELECT * FROM table WHERE col='xyz';

Sem um '%' na consulta LIKE, é efetivamente o mesmo que '='.

Se você estiver fazendo uma seleção em uma coluna inteira, considere usar os operadores IN() ou BETWEEN. No entanto, parece que você tem duas condições separadas que devem ser tratadas em seu código, em vez de na consulta, pois suas condições determinam que você precisa de pelo menos dois tipos diferentes de consultas.

Editar:devo esclarecer que LIKE e =são semelhantes apenas no uso normal e monótono de comparação de cordas. Você deve verificar o Manual MySQL para detalhes sobre como funciona, pois há situações em que não é o mesmo (como conjuntos de idiomas).