Svarene på dine første tre spørgsmål er:ja, ja og nej.
Når strengen 'text'
konverteres til et tal, bliver det værdien 0
.
Dokumentationen, der beskriver typekonvertering, er her .
Til din forespørgsel:
SELECT table.*
FROM table
WHERE id='text';
Reglen er fanget af dette uddrag fra dokumentationen:
I alle andre tilfælde sammenlignes argumenterne som flydende (reelle) tal.
Med andre ord, dette svarer faktisk til:
WHERE id = 0.0