avg函数结果最多保留4位吗?怎么可以保留6位呢? (已解决)

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【概述】 场景 + 问题概述
我要做均值结果做保留3位的修约,按照四舍五入六成双修约规则,可发现avg函数结果最多保留4位小数,会影响我最终的修约结果。

【应用框架及开发适配业务逻辑】

【背景】 做过哪些操作

【现象】 业务和数据库现象

【问题】 当前遇到的问题

【业务影响】

【TiDB 版本】

【附件】 相关日志及监控

在 TiDB 中,AVG 函数默认的结果精度是保留到小数点后 4 位。如果您需要保留 6 位小数,可以使用 FORMAT 函数对 AVG 函数的结果进行格式化。

例如,假设您要计算表 tb 列的平均值,并保留 6 位小数,可以使用以下 SQL 语句:

SELECT FORMAT(AVG(b), 6) FROM t;

其中,AVG(b) 计算 b 列的平均值,FORMAT 函数将结果格式化为保留 6 位小数的字符串。

您好,avg函数最多保留4位,format函数修约6位也只是进行了补零。是不是没办法avg函数保留6位了

解决了:对字段先用round函数修约位6位(或你的满足你计算修约的更长位数),然后在进行avg函数,结果小数点就会保留很多位。

1 个赞

:+1: :+1: :+1:

又学到了

表妹厉害了,技术出生吧。

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。