Sql 案例中的案例作为计算列

Sql 案例中的案例作为计算列,sql,Sql,我过去在论坛上得到了大量的支持,希望有人能帮助我解决我的问题 我有case-when-in-case-when并希望将其作为列返回,但在某个地方出现了一个错误,即'错误,但我看不到它。欢迎任何帮助 谢谢 CASE WHEN SUBSTRING(a.DET_NOMINALDR,3,2) =’BS’ THEN 0 ELSE a.DET_NOMINALDR END as NEW_DET_NOMINALDR WHEN SUBSTRING(a.DET_NOMINALCR,3,2) =’BS

我过去在论坛上得到了大量的支持,希望有人能帮助我解决我的问题

我有case-when-in-case-when并希望将其作为列返回,但在某个地方出现了一个错误,即
'
错误,但我看不到它。欢迎任何帮助

谢谢

CASE 
WHEN SUBSTRING(a.DET_NOMINALDR,3,2) =’BS’ 
THEN 0 
ELSE a.DET_NOMINALDR 
END as NEW_DET_NOMINALDR
    WHEN SUBSTRING(a.DET_NOMINALCR,3,2) =’BS’
 then 0 
else a.DET_NOMINALCR 
end as NEW_DET_NOMINALCR
WHEN NEW_DET_NOMINALDR = 0
    THEN NEW_DET_NOMINALCR
    ELSE NEW_DET_NOMINALDR AS NOMINAL
END

子字符串上缺少右括号

   select 
    (
    Case when ( 
    (Case when (substring(a.DET_NOMINALDR,3,2)) ='BS' then '' else a.DET_NOMINALDR end) ='') then 
    (Case when (substring(a.DET_NOMINALCR,3,2)) ='BS' then '' else a.DET_NOMINALCR end) 
    else (Case when (substring(a.DET_NOMINALDR,3,2)) ='BS' then '' else a.DET_NOMINALDR end) end) as Nominal

你的括号不平衡。也就是说,很少需要嵌套的
case
s。通常情况下,您可以将on
case
与多个
when
子句一起使用。正确格式的SQL非常易于阅读和编写…谢谢您的出色工作,我现在可以继续处理其余的内容了。不知道为什么我没看到