A prescindere dal tuo gusto personale nello scegliere le risposte
quelle + coerenti con la domanda

e a prescindere dal fatto che si stia parlando di una query di SELECT, io volevo dirti che se tu in una strringa SQL vai a scrivere ID = '3hdfjdf", dove nella colonna ID possono essere segnati solo SMALLINT, comunque la query non ti restituirà nessun risultato utile.
il punto è che essendo una select e non sapendo il tipo di dato con cui vado a confrontare l'id ero convinto che se non era dello stesso tipo non mi restituisse nessun record invece non accade proprio questo, molto probabilmente per il motivo "supposto" da n0t

Dovrebbe tradurla come:
3 = (int) 3f
se la colonna è smallint taglia la stringa al primo valore non numerico visto che dopo il primo 3 c'è una 'f' lui taglia la stringa al primo 3
e intuito da me

ho osservato che viene confrontato il 3 con il primo 3 della stringa, nel senso che se la query è
select id from utenti where id='f2c608b3ba0e51895d9317c486d6f79' non restituisce nessun record.