假设我有:
case
when @ID ='2386002' then ISNULL(nullif(i.call,''),i.standingOrderNumber)
when nullif(rtrim(i.call),'') is null then
nullif(rtrim(i.standingOrderNumber), '')
else case when nullif(rtrim(i.standingOrderNumber),'') is null then rtrim(i.call)
else
rtrim(i.call)
这只是在两个应用程序之间进行同步的过程的一部分,问题是standOrderNumber未同步,我认为它必须与此代码部分有关。
方案: 输入call和standingOrderNumber后如下:
打电话:'' (留空)standingOrderNumber:777777
数据存储在一个表中,过程从该表中获取数据并将其显示在应用程序表单上,问题是,一切都正确显示,除了这个standOrderNumber。
你能告诉我上面提交的逻辑是否出错吗?
答案 0 :(得分:0)
我认为下面一行有问题,
when @ID ='2386002' then ISNULL(nullif(i.call,''),i.standingOrderNumber)
在这里,您尝试检查i.call
是否为null值并将其替换为空字符串,这会使ISNULL
函数无效。
解决方法是不要在上面一行中使用nullif