英語エンジニアのキャリア当ブログのおすすめ記事はこちら!【学生でもできる】エンジニアとして海外ノマドワークをする方法と実際に感じたことフィリピンのエンジニア留学は人生変わるかもだけどコスパは悪い件【英語+IT】ホームプログラミングSQL【SQL】小数点のつく数値をいれるならdoubleではなく、decimalを使うべき2019/08/10SHARE【SQL】小数点のつく数値をいれるならdoubleではなく、decimalを使うべきツイートシェアはてブGoogle+PocketLINEこんにちはTakumi(@ynwa_ynwa_0826)です。DBのスキーマを設定する際に、数値の型はどのように設定していますか?小数点がつくとすれば、double型を使う人もおおいと思います。!double型を使うと問題が発生しがちです。浮動小数点数として格納されるためです。よって、基本的にdecimal型を使うようにしましょう。以下に事例を書いておきます。selectがうまくできない事例column1をdouble型(double(6,2))とします。ちなみにこれはMySQLの5.7.2より発生する事例です。'6.81'columnに6.81が入っていたとしても、このselectのクエリはnullを返します!しかし、decimalにかえると、問題なく値を返してくれます。これはdouble型が浮動小数点となっているためにwhere句で指定している6.81と誤差が発生しているためと考えられます。(シングルクォーテーションが入っているので型変換がおきており、DBの値とうまく合致していないのかと。)これに対しdecimalは浮動小数点ではなく正確な値を格納してくれます。このような事例は6.81以外にもあると思われます。よってあまり使わないほうが良いですね。decimalを使用しましょう。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。ことや英語の勉強、エンジニアのことなどについてブログを書いています。