Genexus中 IIF()函数

94855db2-1d29-4d5a-81f8-fc9f33a14c0a

IIF(&a = 0,1,&a)
意思:&a = 0 是查询条件,如果&a的值是0,就执行&a = 1【把&a的值赋值为1】;反之,如果&a <> 0,则&a保持原值。
可以替换成:

if
   &a = 0
	&a = 1
   else 
	&a = &a
endif
这段代码有瑕疵:else语句不用写了,多余
修改成:
if
   &a = 0
	&a = 1
endif
逻辑:只有当 &a = 0 时才修改,其他情况无需处理。

IIF(&a = 0,1,&a)
这段genexus代码在逻辑上,和sql里面的nvl()函数逻辑类似
sql语句:nvl(a,b)函数
函数说明:如果a为null,返回b的值;否则返回a自己

nvl(null,1)
执行结果:null
nvl(4,19)
执行结果:4
posted @ 2025-04-03 11:18  【斗破苍穹】  阅读(7)  评论(0)    收藏  举报  来源