【问题标题】:SQL , format all numbers to 2 decimal places (eg 20 to 20.00)SQL ,将所有数字格式化为 2 位小数(例如 20 到 20.00)
【发布时间】:2021-04-01 22:34:34
【问题描述】:

我的数据集在具有双值的列中存在不一致。有些显示为例如。 24.55,其他为 24.5 或 24。我希望所有值都显示为 2 位小数,所以 24 应该是 24.00,23.1 应该是 23.10 等等。在这种情况下什么代码可以工作?

【问题讨论】:

  • 用您正在使用的数据库标记您的问题。

标签: sql phpmyadmin


【解决方案1】:

一般来说,此类转换既是特定于数据库的,也是特定于 GUI 的。但是,数据库可以使用 numeric/decimal 将值转换为带两位小数的值(它们是等效的):

select cast(value as numeric(10, 2))

“2”是小数点后的两位数。这应该以两位数显示——在任何合理的界面中。

如果您使用的是 MySQL(如 PHP 建议的那样),您可以使用 format() 函数来完成此操作:

select format(value, 2)

【讨论】:

  • 谢谢解释,选择要更新的表和列的时候怎么写?
  • @mccull88 。 . .您将在select 中添加此逻辑。如果要更改表,可以使用alter table 更改列的类型。
  • 我尝试了 SELECT 'Col_Name' FROM 'Table_Name' format(value, 2) 这会引发错误。我需要添加到“价值”中吗?
  • 数据显示任务应该始终以前端为目标,因为这里是所有区域设置、附加操作等。来自数据库的“损坏”格式(作为文本)。
  • 感谢 astentx,这很有道理。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-02
  • 1970-01-01
  • 2011-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多