【发布时间】:2021-07-19 18:01:38
【问题描述】:
如果我希望在没有 gpa 的情况下输出为空白,如果有 gpa 则四舍五入到小数点后 3 位 - 我如何在一个语句中得到它?
这是我想出的 2 个语句,我无法将它们组合为一个语句(如果答案为空,则为空白,如果有 gpa,则为小数点后 3 位)。
小数点 3 位:
NULLIF(cast(round(termgpa.gpa, 3) AS DECIMAL(18, 3)), 0)
如果为空则为空:
isnull(cast(termgpa.gpa as varchar), ' ')
【问题讨论】:
-
NULLIF如果两个字符串相等则返回 NULL,否则返回第一个字符串。ISNULL用于替换表达式的值,如果涉及到NULL。 -
你知道如何将 2 合并为一个语句吗?所以它将空值转换为空白,如果小数使其保留 3 位小数?
标签: sql-server decimal varchar