我试着用一个case表达式来计算-.49和-.01之间或.50和.01之间的总支出。
以下是我尝试过的:
CASE WHEN IsNull(FYExpend.TotalExpenditures,0) Between -.49 AND -.01
OR IsNull(FYExpend.TotalExpenditures,0) Between .50 AND .01
THEN 'True' ELSE 'False' END AS 'IsImmaterial'
第二部分计算不正确,因为我有许多介于.50和.01之间的记录返回为false。根据我读到的所有内容,这个语法应该是有效的。我在这里没有发现任何关于在和之间或在同一语句中使用的问题。如果有相关问题,请告诉我。
有人知道为什么这样不行吗?
2条答案
按热度按时间mftmpeh81#
第二个条件的间隔值方向错误:
笔记:
你不需要
ISNULL
,自0
不属于任何寻求的间隔列别名不应用单引号括起来
xfb7svmp2#
使用简单的布尔逻辑:
这个
NULL
价值观在这个逻辑和你的逻辑中都是“错误的”。