mysqlの小数点以下の桁数 ♡

Home » メモ帳 » Linux » mysqlの小数点以下の桁数 ♡
Linux コメントはまだありません

標準では小数点4桁みたいですよ。
Excelが小数点15桁なので、合わせて欲しいとよく言われます。
めんどくさいので標準設定に入れておきましょう。

/etc/my.cnfの[mysqld]なところに次の1行を追加し、mysqldを再起動してください。

div_precision_increment = 15

適用前

$ mysql -u root -p -e "SELECT 1/3"
Enter password:
+--------+
| 1/3    |
+--------+
| 0.3333 |
+--------+

適用後

$ mysql -u root -p -e "SELECT 1/3"
Enter password:
+-------------------+
| 1/3               |
+-------------------+
| 0.333333333333333 |
+-------------------+

一時的に変更したい場合は、SET div_precision_increment = 桁数;を使ってください。

$ mysql -u root -p -e "SET div_precision_increment = 15; SELECT 1/3;"
Enter password:
+-------------------+
| 1/3               |
+-------------------+
| 0.333333333333333 |
+-------------------+

ちなみに30桁が限界みたいです。30以上を指定しても結果が変わりません。

$ mysql -u root -p -e "SET div_precision_increment = 30; SELECT 1/3;"
Enter password: 
+----------------------------------+
| 1/3                              |
+----------------------------------+
| 0.333333333333333333333333333333 | 
+----------------------------------+
$ mysql -u root -p -e "SET div_precision_increment = 31; SELECT 1/3;"
Enter password: 
+----------------------------------+
| 1/3                              |
+----------------------------------+
| 0.333333333333333333333333333333 | 
+----------------------------------+