sql >> Base de Datos >  >> RDS >> Mysql

Realizar una comparación LIKE en un campo INT

Puede CAST el campo a una cadena:

 ... WHERE CAST(ProductID as CHAR) LIKE '%15%'

esto es muy malo para el rendimiento, ya que mySQL no puede utilizar ningún índice creado para la columna INT. Pero entonces, LIKE siempre es lento, incluso cuando se realiza en un campo varchar:no hay forma de tener un índice que acelere una consulta LIKE.

Podría valer la pena tener un segundo varchar columna que refleja el int los valores de la columna y hacer LIKE en esa:tendría que comparar para averiguar si servirá de algo.