在这个例子中:
select case when someFunction() is null or someFunction() = 0 then 999 else someFunction() end
someFunction() 运行 3 次还是只运行 1 次?
在这个例子中:
select case when someFunction() is null or someFunction() = 0 then 999 else someFunction() end
someFunction() 运行 3 次还是只运行 1 次?
每次调用它时它都会运行,在你的情况下运行三遍。
所以重写使案例成为多余的函数。