Jawaban atas tiga pertanyaan pertama Anda adalah:ya, ya, dan tidak.
Ketika string 'text'
diubah menjadi angka, menjadi nilai 0
.
Dokumentasi yang menjelaskan konversi jenis adalah di sini .
Untuk pertanyaan Anda:
SELECT table.*
FROM table
WHERE id='text';
Aturan ditangkap oleh kutipan ini dari dokumentasi:
Dalam semua kasus lain, argumen dibandingkan sebagai bilangan floating-point (real).
Dengan kata lain, ini sebenarnya setara dengan:
WHERE id = 0.0