跳到主要内容

format_number:数字格式化千分位

速查结论

format_number(expr, d) 是模仿 MySQL FORMAT 函数的数字格式化函数。将数字格式化为 #,###,###.## 形式(千分位逗号分隔),四舍五入到 d 位小数。d 也可以是自定义格式字符串。

语法

format_number(expr1, expr2)

参数说明

参数说明
expr1待格式化的数字
expr2小数位数(INT,四舍五入),或自定义格式字符串(如 '##################.###'

返回值:格式化后的字符串。

Since: 1.5.0

示例

指定小数位数

-- 千分位 + 4位小数(四舍五入)
SELECT format_number(12332.123456, 4);
-- 结果: 12,332.1235

-- 0 位小数
SELECT format_number(12332.5, 0);
-- 结果: 12,333

自定义格式

-- 自定义格式字符串
SELECT format_number(12332.123456, '##################.###');
-- 结果: 12332.123

format_number vs round vs printf 对比

函数千分位返回类型适用场景
format_number(x, d)STRING报表展示、导出 CSV
round(x, d)同输入类型数值计算、聚合
printf(fmt, x)STRINGC 风格格式控制
SELECT
format_number(12345.678, 2) AS formatted, -- 12,345.68
round(12345.678, 2) AS rounded; -- 12345.68

选型建议

  • 需要千分位展示:用 format_number
  • 数值计算保留精度:用 round
📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

备注「数据仓库技术」加入社群,每日一道大厂SQL真题

交流微信二维码

你可能还想看