多くの数値列(一部のINT、一部のFLOAT)を持つMySQLテーブルがあります。mysql Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (x86_64) using readline 6.1
次のように、MySQLコマンドラインクライアント(具体的には)でクエリを実行したいと思います。
SELECT * FROM table WHERE foo;
残念ながら、数値フィールドの値が10 ^ 6を超えると、このクライアントは結果を科学的記数法で表示するため、結果を読み取ることが困難になります。
クエリの各フィールドをFORMAT化することで問題を修正できましたが、クエリしたいフィールドとテーブルがたくさんあります。代わりに、すべてのクエリで科学的記数法を無効にするように設定できるクライアント変数またはフラグを見つけたいと思っています。
--help
またはページで1つを見つけることができず、man
Googleまたはこのサイトを検索することもできませんでした。代わりに、私が見つけたのは、<insert-programming-language>
のMySQLAPIを使用する際の科学的記数法の保持/削除に関する議論だけです。
ヒントをありがとうございます。
::編集::
これがテーブルの例です...
mysql> desc foo;
+--------------+-------------+------+-----+-------------------+
| Field | Type | Null | Key | Default |
+--------------+-------------+------+-----+-------------------+
| date | date | NO | PRI | NULL |
| name | varchar(20) | NO | PRI | NULL |
| val | float | NO | | NULL |
| last_updated | timestamp | NO | | CURRENT_TIMESTAMP |
+--------------+-------------+------+-----+-------------------+
およびいくつかの値の例..。
mysql> select * from foo where date='20120207';
+------------+--------+--------------+---------------------+
| date | name | val | last_updated |
+------------+--------+--------------+---------------------+
| 2012-02-07 | A | 88779.5 | 2012-02-07 13:38:14 |
| 2012-02-07 | B | 1.00254e+06 | 2012-02-07 13:38:14 |
| 2012-02-07 | C | 78706.5 | 2012-02-07 13:38:15 |
+------------+--------+--------------+---------------------+
ここで、3番目のフィールドにロードした実際の値は次のとおりです。
88779.5, 1002539.25, 78706.5390625
値を操作すると、正確に表示されます。
mysql> select date, name, ROUND(val, 10), last_updated from foo where ...
+------------+---+--------------------+---------------------+
| 2012-02-07 | A | 88779.5000000000 | 2012-02-07 13:38:14 |
| 2012-02-07 | B | 1002539.2500000000 | 2012-02-07 13:38:14 |
| 2012-02-07 | C | 78706.5390625000 | 2012-02-07 13:38:15 |
クライアントの何かが、テーブルにさらに有効数字があるにもかかわらず、6つの有効数字しか表示できないように強制しているようです。
次のようなクエリの場合
mysql> select ROUND(*, 2) from foo ...
可能だった、それは素晴らしいだろう!そうしないと、データを検査する必要があるときはいつでも、「ROUND()」で100個の列名を個別にラップするのに時間がかかりません。
興味深いことに、私は時々phpMyAdminインターフェイスを使用して、これらのテーブルの一部のコンテンツを参照します。そのインターフェイスにも、この有効数字の6つの制限があります。したがって、CLIだけに限定されません。