📜  我在 postgres 中没有得到小数 (1)

📅  最后修改于: 2023-12-03 15:39:38.758000             🧑  作者: Mango

我在 postgres 中没有得到小数

如果在 PostgreSQL 中没有得到小数,可能是由于以下原因造成的:

  1. 数据类型不正确:在 PostgreSQL 中,如果您没有明确定义列的数据类型,则它将尝试猜测正确的数据类型。但是,如果数据类型不正确,则可能无法正确处理小数。

  2. 数据库设置错误:如果数据库设置不正确,则可能无法正确处理小数。

  3. 查询错误:如果查询中有错误,则可能无法正确处理小数。

以下是如何解决该问题的步骤:

1. 检查数据类型

首先,您需要确保您的列使用正确的数据类型。您可以使用以下命令来检查此类信息:

\d your_table_name

确保您的表结构中的每个列都具有正确的数据类型。

2. 检查数据库设置

其次,您需要检查数据库设置是否正确。您可以使用以下命令检查此类信息:

SHOW extra_float_digits;

如果此值为 -1,则 PostgreSQL 不会输出任何无需的小数位。如果您希望显示小数,请将其设置为 2:

SET extra_float_digits = 2;
3. 检查查询

最后,您需要检查查询是否正确。请确保您的查询中没有错误,并使用正确的函数和数据类型。

例如,如果要获取两个整数的平均值并显示为小数,请使用以下查询:

SELECT AVG(column_name)::numeric(10,2) FROM your_table_name;

这将显示平均值并将其舍入到两位小数。

结论

如果您在 PostgreSQL 中没有得到小数,请遵循上述步骤来确定问题的原因并进行解决。检查列的数据类型、数据库设置和查询,确保所有都正确无误。