MySQLのLONG型は数値ではなく文字

javaのLONG型は数値だがMySQLでは文字である事に気づいた。
今までは間違ってLONG型を数値と思い込み、order by でソートした時に挙動がおかしかったはずだ。
何故か自分の過去のソースコードを見てみるとLPAD関数に文字数値を数値にわざわざキャストして、ソートしていたw
この時点でおかしいのは気づくべきなのに
long型は正確にはmidiumtext型となる

mysqlの数値タイプについて
http://dev.mysql.com/doc/refman/5.1/ja/numeric-types.html

float型について

FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
M は桁数の合計で、D は小数点以下の桁数の合計です。もし M と D が削除された場合、値はハードウェアに許容された限界まで格納されます。単精度小数点数は大体小数第7位まで正確です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です