自分の備忘録です。
間違えがあったらご容赦ください。
その場合はご指摘いただければ大変助かります。
文字列型のフィールドの中に無理やり数字を入れているケース、というか数字として自分で認識しているケース。
例えば、MD35というカラムとして、入っている物が「001340」など。
ファイルの製作者はこれで「13.4」という数字を表現しているという土台無茶な話。
これをSQLで指定するともちろん「001340」となります。
完璧に文字ですね。
数字に直すのはINTEGERを使います。
でもこれは整数なので、INTEGER(MD35)とすると「1340」になります。
さらにINTEGER(MD35/100)とすると「13」になります。
小数が消し飛び電子のチリとなります。
欲しいのは少数。
小数を出すにはDECIMALを使うそうです。
DECIMAL(MD35/100,5,1)とすると整数5桁+小数1桁になる。
でもこれ、結果は「13.0」になります。
たぶん文字のフィールドを割っているからだと思います。
これで悩みました。
結論を言えば
DECIMAL(DECIMAL(MD35)/100,5,1)
としたら出来ました。
DECIMALで小数がある数値に直したものを100で割って、さらにDECIMALで小数区切りにするみたい。
以上です。