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
     
    ❌ 仅当前会话有效,断开连接就恢复默认
 

 

五、最佳实践(推荐你这样做)

 
  1. 执行全局配置:
 
sql
 
ADMIN SET FRONTEND CONFIG ('decimal_overflow_scale' = '9');
  1. 以后所有 DECIMAL 乘法溢出时,都会保留 9 位小数,不会自动截断成 6 位。
posted @ 2026-05-12 14:55  iyoer  阅读(41)  评论(0)    收藏  举报