SQLでは違う型同士の演算で暗黙の型変換が起こります。この挙動はDBMSごとにバラバラであるため、混乱の元になることがあります。これについては徳丸さんが「SQLの暗黙の型変換はワナがいっぱい - 徳丸浩の日記」などで指摘されているので、一読をお勧めします。 徳丸さんの記事に関連してMySQLの自動型変換について調べてみたところ、予想外の実験結果が得られました。本稿ではこれを紹介します。 先に結論を書いておくと、僕にはMySQLの気持ちがサッパリわからんということがわかりました。 マニュアルによれば、文字列を数値に型変換すると浮動小数点数になるらしい 先日の記事「MySQL5.1以降の小数の扱いがキモい」で、僕は「文字列から小数へキャストする場合には浮動小数点数になります。」と書きました。これはMySQLマニュアルに次のような記述があったためです。 比較の演算の両方の引数がストリングの場合、