たいした話ではないんですが、僕自身がちょいと勘違いをしていたことがあったので、備忘録的なメモってことで……。
MySQLで少数を扱うようなとき、型にdecimalを使うことがあるかと思います。
decimalの場合、桁数を(M,D)の形で指定します。内訳は以下の通りです。
M…扱う少数の最大桁数
D…小数点以下の桁数
例えば、(6,3)という桁数を指定したら、全体で6桁、小数点以下は3桁、という解釈になります。123.456みたいな数値を扱えることになりますね。
僕はそこをちょっと勘違いしてて、上記でいうところのMっていうのは、小数点以上の桁数の指定だと思ってました。だから(6,3)って指定したら、123456.789みたいな数値を扱う状態になるのかなという認識でした。
先日、decimalの桁数を(3,3)で指定して、0~100のパーセンテージを持つカラムを作成したんですけど、どんなにデータを入れてもレコードの中が『0.999』にしかならなくて、おかしいなぁと思っていたんです。
原因は桁数の指定の間違いにありました。(6,3)に直したら解決しました。
もし、僕と同じ間違いをしている人がいたら、この記事が参考になれば幸いです。
ってか、一人くらいはいてほしいな……世界中でそんな勘違いをしたのが俺だけってのも、さびしいし恥ずかしいし……。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。