【MySQL】数値型:float,double,double precision,real


ここではMySQLで、数値型(float,double,double precision,real)について紹介しています。

数値型(浮動小数点数)の一覧

型名 サイズ 値の範囲 補足
float 4バイト -3.402823466E+38~-1.175494351E-38
0
1.175494351E-38~3.402823466E+38
double 8バイト -1.7976931348623157E+308~-2.2250738585072014E-308
0
2.2250738585072014E-308~1.7976931348623157E+308
double precision 8バイト -1.7976931348623157E+308~-2.2250738585072014E-308
0
2.2250738585072014E-308~1.7976931348623157E+308
doubleの別名
real 8バイト -1.7976931348623157E+308~-2.2250738585072014E-308
0
2.2250738585072014E-308~1.7976931348623157E+308
doubleの別名

有効桁数と小数点以下桁数の指定

float型、double型では、有効桁数と小数点以下桁数に任意の値を指定することが出来ます。

有効桁数と小数点以下桁数の指定方法は次の通りです。

float(有効桁数,小数点以下桁数)
double(有効桁数,小数点以下桁数)

次のSQLでは、float,doubleで有効桁数と小数点以下桁数を指定してみました。

mysql> CREATE TABLE tab(col1 varChar(10),col2 float,col3 float(10,3),col4 double,col5 double(20,5));
Query OK, 0 rows affected (0.05 sec)

mysql> SHOW COLUMNS FROM tab;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| col1  | varchar(10)  | YES  |     | NULL    |       |
| col2  | float        | YES  |     | NULL    |       |
| col3  | float(10,3)  | YES  |     | NULL    |       |
| col4  | double       | YES  |     | NULL    |       |
| col5  | double(20,5) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)