De antwoorden op uw eerste drie vragen zijn:ja, ja en nee.
Wanneer de string 'text'
wordt omgezet in een getal, wordt het de waarde 0
.
De documentatie die typeconversie beschrijft, is hier .
Voor uw vraag:
SELECT table.*
FROM table
WHERE id='text';
De regel wordt vastgelegd door dit fragment uit de documentatie:
In alle andere gevallen worden de argumenten vergeleken als (reële) getallen met drijvende komma.
Met andere woorden, dit is eigenlijk gelijk aan:
WHERE id = 0.0