if的公式列问题,导致sql查询出错

sql查询公式列的时候,if(logical,value1,value2)会同时计算value1和value2的值,如果value1或value2公式出错,就会整体出错,本来就是用if来控制的,在sql就导致失去了if的意义。
bug复现:
三列 test test2 为日期列,result为公式列,公式为:
if({test}<{test2},dateDif({test},{test2}),dateDif({test2},{test}))

test的值为 2022-01-30 test2的值为 2022-01-24
在网页能正确计算结果,结果为 518400 (秒)



但是在sql查询中,结果出错 ,因为 2022-01-30比2022-01-24大,dateDif({test},{test2})就会出错,把dateDif({test},{test2})替换为其他值,sql就会查询正确。
反之亦然。

极端一点,公式为 if(true(),“true”,date(2021, 1, “SeaTable”)),结果必然是true,但是sql查询仍然出错,因为date(2021, 1, “SeaTable”)会返回 #VALUE!
所以个人猜测应该就是sql查询的时候同时计算了两个值导致的

后续版本逻辑公式会支持短路逻辑。