【发布时间】:2018-11-29 06:35:27
【问题描述】:
我的 MySQL 数据库中有几个表,我使用浮点类型的列,现在基于这些列,我还有其他几个计算列。我希望能够继续使用浮点列进行所有计算并保持“准确性”,但是当我在 phpMyAdmin 中看到结果时,我只想看到 2 位小数,这样它看起来很整洁。
TRUNCATE(0.16666, 2) 不起作用,因为它将评估为 0.16,但是我仍然想继续使用 0.16666 进行所有计算。
ROUND(0.16666, 2) 将评估为 0.17。
我正在寻找的是让 MySQL 继续使用 0.16666 进行任何后续计算,但是当我在 phpMyAdmin 中选择/显示表格时,它只显示两个小数点。你能给些建议么。
【问题讨论】:
-
对于您需要不同的计算以及查看您需要不同的保存内容,只有将是可见的,这是不可能的。你必须像 0.16666 一样保存,当需要保留两位小数时,请执行
select tochar(colname,'99.99'); -
在这种情况下,在显示值之前在应用程序代码中进行舍入。
-
您似乎希望您的查询工具自动格式化浮点类型列以使用 2 dp 显示,无论数据存储在数据库中多少 dp,其方式类似于查询工具具有默认日期格式设置,其中日期列以您选择的格式显示。如果 phpmyadmin 没有办法(在设置中)指定您希望将浮点/小数列格式化为 2 位小数,您将需要寻找一个查询工具。 StackOverflow 有针对寻求软件推荐的问题的特定规则..
-
我投票决定将此问题作为离题结束,因为答案必须推荐特定的 MySQL 查询软件,并且“推荐我一个”问题是离题
-
(尽管我在上面说过,每次在 phpmyadmin 中选择数据时都可以使用这些函数:在查询的选择列表部分中使用 TRUNC 或 ROUND 不会改变基础数据。MySQL当您在最外层的选择查询中选择它时,将使用精确的形式并格式化您的数据)
标签: mysql sql phpmyadmin