case when contact_number1 ='' or contact_number2 is null then contact_number1
when contact_number1 ='' or contact_number1 is null then contact_number2
when contact_number1 is not null and contact_number2 is not null then concat(contact_number1,',',contact_number2)
end
如果第一种情况是真的,那么它执行第一种情况下则进入下一个case语句或没有?postgresql中'case when'的执行过程是什么?
您还应该在该节末尾包含注释:“ *如第4.2.14描述的,存在其中表达式的子表达式是在不同时间评估各种情况,以使得“CASE评估仅在必要的子表达式”的原则是不铁定。例如,一个恒定的1/0子表达式将通常导致在规划的时候一个部门被零故障,即使它永远不会在运行时*输入一个CASE手臂内” –
啊,错过了一部分,但它是有道理的 - 规划仍检查的条件以及能够出错,执行短路 - 感谢您的注意并补充说明! – romeara