如何在SQL中为数字每3位添加逗号千位分隔符以提高可读性
SQL数字千分位逗号分隔格式化方案
不同数据库的实现语法不同,对应常用数据库的实现方式如下:
MySQL / MariaDB
直接调用内置FORMAT()函数,第二个参数为需要保留的小数位数,示例:-- 保留1位小数,自动添加千分位逗号 SELECT FORMAT(150444600000.0, 1);执行后输出结果为
150,444,600,000.0。PostgreSQL
调用TO_CHAR()函数指定格式模板实现,示例:-- FM前缀用于去除结果前的冗余空格 SELECT TO_CHAR(150444600000.0, 'FM999,999,999,999.0');格式模板可根据你的数值最大长度调整,保证位数能覆盖即可。
SQL Server
调用FORMAT()函数,指定数值格式为N+保留小数位数即可,示例:-- N1代表数字格式带千分位,保留1位小数 SELECT FORMAT(150444600000.0, 'N1');Oracle
调用TO_CHAR()函数搭配区域兼容的格式符实现,示例:-- G代表千分位分隔符,D代表小数点,自动适配数据库区域设置 SELECT TO_CHAR(150444600000.0, 'FM999G999G999G999D0') FROM DUAL;
注意:如果你的原始查询结果为字符串类型,需要先转换为数值类型再调用上述格式化函数,避免出现转换错误
内容的提问来源于stack exchange,提问作者dgrszombie315
相关产品推荐
相关产品推荐

