SQLで ’数値e数値' という文字列をクエリに含んだときの挙動が謎です。 (0e0 とか 1e10 とか ... 指数表記というのかな?)
例えば
mysql> select 1e1; +-----+ | 1e1 | +-----+ | 10 | +-----+ 1 row in set (0.00 sec)
これは指数の計算をSELECTしたとクエリとして解釈されるんですが、
'数値e数値' の後尾に文字列を付加した場合
mysql> select 1e1hoge; +------+ | hoge | +------+ | 10 | +------+ 1 row in set (0.00 sec)
こんな結果になります。この場合 '1e1hgoe' を カラム名としては認識しないようです。これが謎だった。
mysql> select 1e1 hoge; +-------+ | hoge | +-------+ | 10 | +-------+ 1 row in set (0.00 sec)
'数値e数値' の間に空白をいれても同じ結果が返ります。ま これはカラム名のエイリアスということなので正常な結果か.
mysql> select "1e1hoge"; +-----------+ | 1e1hoge | +-----------+ | 1e1hoge | +-----------+ 1 row in set (0.00 sec) mysql> select `1e1hoge`; ERROR 1054 (42S22): Unknown column '1e1hoge' in 'field list' mysql>
クォートすると文字列として扱われて、バッククォートするとカラム名として認識されます。これも予想通りの挙動ですね。
テーブル名に使うとシンタックスエラーを吐きます。おそらく select * from 1e1 _table と解釈してる
mysql> select * from 1e1_table; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1e1_table' at line 1
1e1でテストしましたが、100e100とか 0e100 とかでも結果は同じです。