Las respuestas a sus tres primeras preguntas son:sí, sí y no.
Cuando la cadena 'text'
se convierte en un número, se convierte en el valor 0
.
La documentación que describe la conversión de tipos está aquí .
Para su consulta:
SELECT table.*
FROM table
WHERE id='text';
La regla se captura en este extracto de la documentación:
En todos los demás casos, los argumentos se comparan como números de coma flotante (reales).
En otras palabras, esto es equivalente a:
WHERE id = 0.0