MySQL は自動的に文字列を数値に変換しますか?
その変換はどのように機能しますか?
- '1234'=1234?
- '1abc' = 1 ?
- 「テキスト」= 1 ?
これがbigintunits.id
型の場合、このクエリはどのように解釈されるでしょうか?
SELECT table.*
FROM table
WHERE id='text'
MySQL は自動的に文字列を数値に変換しますか?
その変換はどのように機能しますか?
これがbigintunits.id
型の場合、このクエリはどのように解釈されるでしょうか?
SELECT table.*
FROM table
WHERE id='text'
最初の 3 つの質問に対する答えは、はい、はい、いいえです。
文字列'text'
が数値に変換されると、値になります0
。
型変換について説明しているドキュメントはこちらです。
クエリの場合:
SELECT table.*
FROM table
WHERE id='text';
ルールは、ドキュメントからのこの抜粋によってキャプチャされます。
それ以外の場合はすべて、引数は浮動小数点数 (実数) として比較されます。
つまり、これは実際には次と同等です。
WHERE id = 0.0