Doris 配置 decimal_overflow_scale(保留 9 位小数)
Doris 配置 decimal_overflow_scale(保留 9 位小数)
我给你最简单、最稳妥、直接可用的配置方法,分 会话级(临时) 和 FE 全局级(永久) 两种。
一、先查看当前值(确认是否为默认 6)
sql
SHOW FRONTEND CONFIG LIKE '%decimal_overflow_scale%';
如果显示
6,就是默认值,需要改成 9。二、方法 1:会话级配置(当前连接生效,立即用)
不需要管理员权限,当前查询窗口有效,重启失效。
sql
SET decimal_overflow_scale = 9;
设置后再执行乘法,就能保留 9 位小数 了。
三、方法 2:FE 全局配置(永久生效,推荐)
需要管理员权限,所有会话、所有节点永久生效。
执行这条 SQL 即可:
sql
ADMIN SET FRONTEND CONFIG ('decimal_overflow_scale' = '9');
验证是否生效:
sql
SHOW FRONTEND CONFIG LIKE '%decimal_overflow_scale%';
看到值变成 9 就成功了。
四、配置后重启是否会失效?
ADMIN SET FRONTEND CONFIG✅ 永久生效(FE 重启后依然保留)SET decimal_overflow_scale=9❌ 仅当前会话有效,断开连接就恢复默认
五、最佳实践(推荐你这样做)
- 执行全局配置:
sql
ADMIN SET FRONTEND CONFIG ('decimal_overflow_scale' = '9');
- 以后所有 DECIMAL 乘法溢出时,都会保留 9 位小数,不会自动截断成 6 位。

浙公网安备 33010602011771号