WHERE CASE WHEN cksp.status IS NOT NULL THEN ckspc.is_include_in_pipeline = 1
ELSE 1=1
END
这里我想如果cksp.status不为null,那么条件应该是cksp.is_in_pipeline=1 ELSE忽略where条件
跳过case表达式,使用正则AND/OR,
WHERE cksp.status IS NULL
OR ckspc.is_include_in_pipeline = 1
该逻辑应该类似于:
(cksp.status IS NOT NULL and ckspc.is_include_in_pipeline = 1) or cksp.status IS NULL
WHERE ckspc.is_include_in_pipeline = CASE WHEN cksp.status IS NOT NULL THEN 1
ELSE 9999999
END
或
WHERE ckspc.is_include_in_pipeline = 1
or ckspc.status IS NOT NULL
演示只有一个表