You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle执行全表查询时如何让所有数值列仅显示4位小数

全表查询统一数值保留4位小数的实现方案

跳过手动枚举33个列名的低效方式,两种可直接落地的方案按需选择:

方案一:动态SQL自动生成带格式的查询语句(纯SQL查询场景推荐)

核心逻辑是读取数据库系统字段表,自动识别数值类型字段套入保留4位小数的处理函数,非数值字段保持原值输出,列顺序和原SELECT *查询完全一致,不管表有多少列都能10秒生成可执行语句。

各数据库对应实现代码:

  • MySQL环境直接执行以下代码即可得到目标结果:
SELECT GROUP_CONCAT(
    CASE 
        WHEN DATA_TYPE IN ('float','double','decimal','numeric') 
        THEN CONCAT('ROUND(`',COLUMN_NAME,'`,4) AS `',COLUMN_NAME,'`')
        ELSE CONCAT('`',COLUMN_NAME,'`')
    END ORDER BY ORDINAL_POSITION
) INTO @sql
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() 
  AND TABLE_NAME = 'IPFEE_MST_INSRT_ASCEND';

SET @sql = CONCAT('SELECT ',@sql,' FROM IPFEE_MST_INSRT_ASCEND');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
  • PostgreSQL环境执行:
SELECT string_agg(
    CASE 
        WHEN data_type IN ('numeric','real','double precision')
        THEN format('ROUND(%I,4) AS %I', column_name, column_name)
        ELSE format('%I', column_name)
    END, ',' ORDER BY ordinal_position
) INTO temp_sql
FROM information_schema.columns
WHERE table_name = 'IPFEE_MST_INSRT_ASCEND'
  AND table_schema = 'public'; -- 替换为实际使用的schema名

EXECUTE format('SELECT %s FROM IPFEE_MST_INSRT_ASCEND', temp_sql);
  • SQL Server环境执行:
DECLARE @sql NVARCHAR(MAX)
SELECT @sql = STRING_AGG(
    CASE 
        WHEN DATA_TYPE IN ('float','real','decimal','numeric','money','smallmoney')
        THEN CONCAT('ROUND(',QUOTENAME(COLUMN_NAME),',4) AS ',QUOTENAME(COLUMN_NAME))
        ELSE QUOTENAME(COLUMN_NAME)
    END, ',' ) WITHIN GROUP (ORDER BY ORDINAL_POSITION)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'IPFEE_MST_INSRT_ASCEND'

EXEC('SELECT ' + @sql + ' FROM IPFEE_MST_INSRT_ASCEND')

如果后续需要调整保留小数位数,直接把代码里的4改成目标位数即可,不需要调整其他逻辑。

方案二:报表层批量配置(BI报表场景优先选)

如果是用BI工具开发报表,完全不需要修改SQL:

  • 选中数据集里所有数值类型字段
  • 批量设置数字格式为保留4位小数
    这种方式维护成本更低,后续表结构调整加字段时,批量刷格式即可,不用反复改SQL。

注意:不要直接修改数据库表字段的精度属性,该操作会改动原始存储的数据,只在查询/展示层做格式处理即可,避免丢失原始数据精度。

内容的提问来源于stack exchange,提问作者Nadeem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 14:39:53