MYSQLで小数点を使ってみた

プログラム制作で扱う数字は、たいてい「整数」です。
計算する要素がほとんどなく、数値の目的は数を数えることだけだったりするためです。

そんななか、プログラムで小数点を扱う事例がありました。
数値計算目的のアプリ制作であったためです。

PHPでは、小数点は宣言しなくても普通に使えます。
ただ、MYSQLではintなどの数値型では小数点は使えません。

数値データを保存する必要があったため、MYSQLで小数点を保存しなければいけませんでした。

どうやればMYSQLで小数点を保存できるのか?

いつものごとくググって調べました。

int型の項目に小数を入れてみたらこうなりました

まずはint型の項目に小数を入れてみたところ、以下のようになりました。

小数を無理やり入れてみると、こうなりました。

案の定ですが、整数にむりやり変換されました。
int型では小数は無理のようです。

MYSQLで小数を使うには専用の型を使用する

MYSQLで小数を使うには、専用の型があります。
それがdecimal です。

次のようにやってみたところ、MYSQLで小数が使えました。

decimal型に小数を入れると次のようになりました。

ここで疑問:decimalは小数点第何位までいれられるのか?

MYSQLで少数が使えることがわかりました。
でも小数点は第何位までつかえるのか疑問に思いました。

そこで調べてみました。

小数点はほぼ無制限に使用できます。

decimal型の使い方は桁数と、小数点の桁数を指定します。

例えば、小数点の桁数を増やす場合は、次のように宣言します。

decimalは事前に桁数を宣言する必要がありますが、小数点の桁数を流動的に変更することができます。
用途に合わせて宣言します。

小数点が何桁必要かは、打ち合わせ等で何桁必要かで判断します。

decimal型を使用する場合は何桁必要が綿密に検討することが大事です

decimal型は使用する桁数を事前に設定するため、足りなくなった場合の再修正に手間がかかります。
開発段階であれば、まだ桁数の変更をしても影響はすくないですが、稼働中の場合は思いのほか大変です。

整数は何桁必要ななのか?
小数点は何桁必要なのか?

じっくり検討して設計することが大事です。

かくいう私も、プログラム開発中に小数の桁数が足りないことに気づき何回かdecimal型の再設定を行いました。

何事もじっくり考えることが肝要です。

今回のレポートは以上です。
読んでいただいてありがとうございました。


ホームページに関するお悩み事やご相談事がございましたら私どもまでご連絡ください。 鋭意ご対応申し上げます。
ホームページのご提案もさせていただいております