Crystal Report:IsNull等效于SQL Expression

时间:2014-06-03 08:03:34

标签: sql oracle crystal-reports

我想过滤掉水晶报告中的数据。目前,我在记录选择中有以下公式:isnull({T_TABLE.SOME_COLUMN})

显然,如果我们在Crystal Report中使用某些函数,它就不会转换为SQL查询(即它不会像T_TABLE.SOME_COLUMN IS NULL那样添加SQL语句。 由于此检查非常基本,因此我希望将此条件推送到生成的SQL语句,因为在数据库级别而不是Crystal Report上过滤应该更快。根据我读到的内容,将某些条件推送到SQL语句的可能方法是使用SQL Expression Fields。但我似乎无法写T_TABLE.SOME_COLUMN IS NULL。它给出了错误:FROM keyword not found where expected

知道如何解决这个问题吗?

[编辑]:IsNull如果是isnull({T_TABLE.SOME_COLUMN}),似乎会被推送。但如果是某种观点,例如isnull({V_VIEW.SOME_COLUMN}),它不会被推动。

1 个答案:

答案 0 :(得分:0)

IsNull()函数实际上被推送到SQL查询,条件是它不与Crystal Report Record Selection公式中的某个值进行比较。

因此IsNull({T_TABLE.SOME_COLUMN})转换为SQL查询T_TABLE.SOME_COLUMN IS NULL。但是IsNull({T_TABLE.SOME_COLUMN}) = true不会。