CASE
WHEN ${if(len(PP)==0,"''",'1')} IS NOT NULL THEN A.PPXSZB
WHEN ${if(len(ZL)==0,"''",'1')} IS NOT NULL THEN A.CPTJDLXSZB ELSE A.CPTJDLXSZB END
如果这是SQL SERVER 的语句,后面这一截WHEN ${if(len(ZL)==0,"''",'1')} IS NOT NULL THEN A.CPTJDLXSZB ELSE A.CPTJDLXSZB END 都不会执行,因为不管是''还1都不会判断为NULL
翻译成SQL SERVER
先判断参数是不是为空, 为空赋空值, 不为空赋值1, 然后判断前面为空值时,赋值A.CPTJDLXSZB, 不为空则赋值A.CPTJDLXSZB
参数PP 有值 则 查 字段PPXSZB
参数PP 无值 且 ZL 有值 则 查字段CPTJDLXSZB
参数PP Zl 都无值 则 查字段CPTJDLXSZB