Mysql
 sql >> Database >  >> RDS >> Mysql

Esecuzione di un confronto LIKE su un campo INT

Puoi CAST il campo in una stringa:

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

questo è molto negativo per le prestazioni, poiché MySQL non può utilizzare alcun indice creato per la colonna INT. Ma poi, LIKE è sempre lento, anche se eseguito su un campo varchar:non c'è modo di avere un indice che acceleri una query LIKE.

Potrebbe valere la pena avere un secondo varchar colonna che rispecchia int valori della colonna e fare LIKE su quella:dovresti fare un benchmark per scoprire se funzionerà bene.