您的位置:首页 > 数据库 > Oracle

GeneXus + java +Oracle 中 for each 的 where 条件中 对isEmpty() 和isNull()的本质区别

2008-09-10 19:47 471 查看
我们读取数据库表的值通常需要通过for each 得到内容.

for each

&TicID = TicID

endfor

我们举个例子:

(1)

for each

where TicAcc.IsEmpty()

............

endfor

(2)

for each

where TicAcc.IsNull()

............

endfor

我们用到的条件TicAcc.IsEmpty() 和TicAcc.IsNull() 是有区别的

TicAcc.IsEmpty() 的意思是 TicAcc字段值右截取后为null 的值,但是 TicAcc本身不为null

TicAcc.IsNull() 的意思是TicAcc本身为null。

通过对产生的java源代码解析:

TicAcc.IsEmpty() => SELECT TicID, TicAcc FROM TRN01 WHERE ((rtrim(TicAcc) IS NULL AND NOT(TicAcc IS NULL))) ORDER BY TicID

TicAcc.IsNull() => SELECT TicID, TicAcc FROM TRN01 WHERE (TicAcc IS NULL) ORDER BY TicID

相信大家对这两个用法有所理解了吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: