为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【概述】 场景 + 问题概述
我要做均值结果做保留3位的修约,按照四舍五入六成双修约规则,可发现avg函数结果最多保留4位小数,会影响我最终的修约结果。
【应用框架及开发适配业务逻辑】
【背景】 做过哪些操作
【现象】 业务和数据库现象
【问题】 当前遇到的问题
【业务影响】
【TiDB 版本】
【附件】 相关日志及监控
为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【概述】 场景 + 问题概述
我要做均值结果做保留3位的修约,按照四舍五入六成双修约规则,可发现avg函数结果最多保留4位小数,会影响我最终的修约结果。
【应用框架及开发适配业务逻辑】
【背景】 做过哪些操作
【现象】 业务和数据库现象
【问题】 当前遇到的问题
【业务影响】
【TiDB 版本】
【附件】 相关日志及监控
在 TiDB 中,AVG 函数默认的结果精度是保留到小数点后 4 位。如果您需要保留 6 位小数,可以使用 FORMAT
函数对 AVG 函数的结果进行格式化。
例如,假设您要计算表 t
中 b
列的平均值,并保留 6 位小数,可以使用以下 SQL 语句:
SELECT FORMAT(AVG(b), 6) FROM t;
其中,AVG(b)
计算 b
列的平均值,FORMAT
函数将结果格式化为保留 6 位小数的字符串。
您好,avg函数最多保留4位,format函数修约6位也只是进行了补零。是不是没办法avg函数保留6位了
解决了:对字段先用round函数修约位6位(或你的满足你计算修约的更长位数),然后在进行avg函数,结果小数点就会保留很多位。
又学到了
表妹厉害了,技术出生吧。
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。