[前][次][番号順一覧][スレッド一覧]

mysql:438

From: 民斗 <民斗 <tommy@xxxxxxxxxx>>
Date: Thu, 10 Dec 1998 09:29:20 +0900
Subject: [mysql 438] Re: CREATE TABLE 句についての質問


[Subject: [mysql 435] Re: CREATE TABLE 句についての質問]
[Date: Wed, 9 Dec 98 20:57:47 +0900  From:Satoshi Koiwa]

> 毎度私は民斗さんの反応の速さに仰天しております。

いや〜たまたまでしょう (^^;

> となります。で、MySQLだと
> 
> =============================================
> mysql> select 0.999 * 0.999;
> +---------------+
> | 0.999 * 0.999 |
> +---------------+
> |         0.998 |
> +---------------+
> 1 row in set (0.00 sec)
> 
> mysql> create table test(wao decimal(3,3));
> Query OK, 0 rows affected (0.00 sec)
> 
> mysql> insert into test values(0.999);
> Query OK, 1 row affected (0.00 sec)
> 
> mysql> select wao * wao from test;
> +-----------+
> | wao * wao |
> +-----------+
> |     0.998 |
> +-----------+
> 1 row in set (0.00 sec)
> 
> mysql>
> =============================================
> 
> となります。
	:
> まぁこれは型の問題というよりは型から取り出したあと
> の処理の問題でしょう。

そうですね。MySQL は演算に使われた型の精度に出力を合わせるみたいです。

例えば、'select 0.9999 * 0.9999' だと '0.9998' が返ります。

ちなみに、演算はちゃんと行なわれているので、
'select round(0.9999 * 0.9999, 10)' とすると '0.9998000100' が
返りますね。

--
民斗 <tommy@xxxxxxxxxx>

[前][次][番号順一覧][スレッド一覧]

       435 1998-12-09 20:57 [Satoshi Koiwa <koiwa] Re:  CREATE TABLE 句についての質問      
       436 1998-12-09 22:04 ┣[Tamon Nomura <tamon@]                                       
->     438 1998-12-10 09:29 ┗[民斗 <tommy@xxxxxxxx]