MySQLコマンドやSQL文に関する各種メモ書き

MySQLで小数点をもつ数値型 decimal を使う

あるテーブル「test_table」のカラム「price_no」を小数点二桁まで扱えるようにするには

ALTER TABLE 
	test_table
MODIFY
	price_no decimal(10,2) default NULL ;

とします。 (10,2)というのは 全部で10桁、小数点2桁 という意味です。 例

12345678.12

MySQL で小数点を表す型は2つあります。

・固定小数点型

decimal , numeric
DECIMAL および NUMERIC 型は真数値データ値を格納します。これらの型は、金銭データを扱う場合など、正確な精度を保持することが重要な場合に使用されます。MySQL では、NUMERIC は DECIMAL として実装されるので、DECIMAL に関する次の注意事項が NUMERIC にも同様に適用されます。

・浮動小数点型 (概数値)

float , double
FLOAT および DOUBLE 型は概数値データ値を表します。MySQL は、単精度値には 4 バイトを、倍精度値には 8 バイトを使用します。
浮動小数点値は概数値であり、真数値としては格納されないので、比較で値を真数値として扱おうとすると、問題が発生することがあります
No.701
08/19 10:56

edit