Crystal Report:SQL表达式的IsNull等效项

Crystal Report:SQL表达式的IsNull等效项,sql,oracle,crystal-reports,Sql,Oracle,Crystal Reports,我想过滤掉crystal报表中的数据。目前,我在记录选择中有以下公式:isnull({T\u TABLE.SOME\u COLUMN}) 显然,如果我们在Crystal Report中使用某些函数,它不会转换为SQL查询(即,它不会添加类似于T\u表的SQL语句。某些\u列为NULL)。 由于此检查非常基本,我希望将此条件推送到生成的SQL语句中,因为在数据库级别进行筛选应该比在Crystal Report上进行筛选更快。根据我所读的内容,将某些条件推送到SQL语句中的可能方法是使用SQL表达式

我想过滤掉crystal报表中的数据。目前,我在记录选择中有以下公式:
isnull({T\u TABLE.SOME\u COLUMN})

显然,如果我们在Crystal Report中使用某些函数,它不会转换为SQL查询(即,它不会添加类似于
T\u表的SQL语句。某些\u列为NULL
)。 由于此检查非常基本,我希望将此条件推送到生成的SQL语句中,因为在数据库级别进行筛选应该比在Crystal Report上进行筛选更快。根据我所读的内容,将某些条件推送到SQL语句中的可能方法是使用
SQL表达式字段
。但我似乎不太喜欢e能够写入
T\u表。某些列为空
。它给出错误:
FROM关键字未在预期位置找到

你知道怎么解决这个问题吗

[编辑]:如果是
IsNull({T\u TABLE.SOME\u COLUMN})
,则
IsNull({V\u view.SOME\u COLUMN})似乎会被推送。但是如果是某个视图,例如
IsNull({V\u view.SOME\u COLUMN})
,则不会被推送。

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


因此,
IsNull({T\u TABLE.SOME\u COLUMN})
被转换为SQL查询
T\u TABLE.SOME\u COLUMN}。但是
IsNull({T\u TABLE.SOME\u COLUMN})=true
不会。

为什么不试试这样的方法呢
{T\u TABLE.SOME\u COLUMN}”此操作应该自动执行,并且在SQL Server 2008上用ChestRealXi席测试表明,<代码> IsNull < /C> >被翻译为SQL <代码>为NUL< /COD>。不幸的是,我没有Oracle数据库服务器,我可以在上面进行测试。@ Siva:我不确定用空字符串替换NULL是否是一个问题是不是对我来说。@hvd:我刚刚编辑了我的帖子。当它是某个表时,它似乎会被推送,但如果它是一个视图,它就不会被推送。你能从你的角度对此进行确认吗?顺便说一句,我在Oracle 8中使用的是CR 10。不,对不起,当使用视图时,它仍然在这里工作。以防万一,我还尝试了一个列,服务器已经知道它不是nul标签,但它没有得到优化,它仍然出现在我得到的SQL查询中。