📅  最后修改于: 2023-12-03 15:39:38.758000             🧑  作者: Mango
如果在 PostgreSQL 中没有得到小数,可能是由于以下原因造成的:
数据类型不正确:在 PostgreSQL 中,如果您没有明确定义列的数据类型,则它将尝试猜测正确的数据类型。但是,如果数据类型不正确,则可能无法正确处理小数。
数据库设置错误:如果数据库设置不正确,则可能无法正确处理小数。
查询错误:如果查询中有错误,则可能无法正确处理小数。
以下是如何解决该问题的步骤:
首先,您需要确保您的列使用正确的数据类型。您可以使用以下命令来检查此类信息:
\d your_table_name
确保您的表结构中的每个列都具有正确的数据类型。
其次,您需要检查数据库设置是否正确。您可以使用以下命令检查此类信息:
SHOW extra_float_digits;
如果此值为 -1,则 PostgreSQL 不会输出任何无需的小数位。如果您希望显示小数,请将其设置为 2:
SET extra_float_digits = 2;
最后,您需要检查查询是否正确。请确保您的查询中没有错误,并使用正确的函数和数据类型。
例如,如果要获取两个整数的平均值并显示为小数,请使用以下查询:
SELECT AVG(column_name)::numeric(10,2) FROM your_table_name;
这将显示平均值并将其舍入到两位小数。
如果您在 PostgreSQL 中没有得到小数,请遵循上述步骤来确定问题的原因并进行解决。检查列的数据类型、数据库设置和查询,确保所有都正确无误。