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

SQL如何实现GPA字段空值转空白、非空值保留三位小数的单语句编写

GPA字段输出规则实现(单条SQL语句)

最终整合语句(SQL Server方言)

ISNULL(CAST(NULLIF(CAST(ROUND(termgpa.gpa, 3) AS DECIMAL(18, 3)), 0) AS VARCHAR), ' ')

逻辑说明

  • 内层先执行ROUND(termgpa.gpa, 3)完成GPA值四舍五入保留3位小数的计算
  • 通过CAST( ... AS DECIMAL(18, 3))固定小数位格式,避免隐式转换丢失精度
  • 用NULLIF将0值转为NULL,匹配你原有语句中过滤0值的需求
  • 最后转成字符串类型后,用ISNULL将所有NULL场景(原GPA为空、0值转换后的NULL)统一替换为空白字符串

其他数据库方言适配

如果使用MySQL,将ISNULL替换为IFNULL即可:

IFNULL(CAST(NULLIF(CAST(ROUND(termgpa.gpa, 3) AS DECIMAL(18, 3)), 0) AS CHAR), ' ')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 20:09:03