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

Forespørger du på en streng fra int kolonne?

En mulighed er at CAST 112 til CHAR for at få et ordentligt match:

WHERE CAST(id AS CHAR(12)) = '112abcdefg'

12 i CHAR er et gæt; den skal være stor nok til dit største id .

Det vil sandsynligvis dræbe enhver chance for optimering, så en anden mulighed (selvom en jeg ikke er 100 % sikker på) er at bruge en BINARY sammenligning. Jeg har prøvet dette med et par forskellige værdier, og det virker:

WHERE BINARY id = '112abcdefg'


  1. SQL DELETE for begyndere

  2. Sådan kontrollerer du, om brugernavnet allerede eksisterer med PHP/MYSQL

  3. PostgreSQL - hent den række, som har Max-værdien for en kolonne

  4. MySQL SELECT hyppigst efter gruppe