Mysql结果包括e + 07,我们如何从结果中逃避e + 07

时间:2014-04-24 06:32:46

标签: mysql sql database

如果我将结果从mysql导出到csv文件,所有值都显示正常,一旦我从mysql执行select命令,结果显示为x.xxxxxe + 07

经验:

select mycolumn from mytable where mycolumn=25744130;

结果如下

2.57441e+07
2.57441e+07
2.57441e+07
...

有没有办法避免这种表现?

1 个答案:

答案 0 :(得分:2)

首先 - 请注意,在一般情况下,由于缺少有效数字,例如,2.57441e17257441000000000000,这是不正确的。此外,在这种情况下,您将无法对分数部分说些什么。

假设您想要输出零填充结果而不包含小数部分,您可以使用FORMAT()

SELECT REPLACE(FORMAT(f, 0), ',', '') FROM t

像:

mysql> SELECT v, replace(format(v, 0), ',', '') FROM t;
+------------+--------------------------------+
| v          | replace(format(v, 0), ',', '') |
+------------+--------------------------------+
| 2.57441e17 | 257441000000000000             |
+------------+--------------------------------+
1 row in set (0.00 sec)

这将导致字符串值,但对于CSV,所有值实际上都是字符串(所以这是解释的问题)。