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

Executando uma comparação LIKE em um campo INT


Você pode CAST o campo para uma string:
 ... WHERE CAST(ProductID as CHAR) LIKE '%15%'

isso é muito ruim para o desempenho, pois o mySQL não pode usar nenhum índice criado para a coluna INT. Mas então, LIKE é sempre lento, mesmo quando feito em um campo varchar:Não há como ter um índice que acelere uma consulta LIKE.

Pode valer a pena ter um segundo varchar coluna que espelha o int valores da coluna e fazer o LIKE nela - você teria que fazer benchmark para descobrir se isso funcionaria.