2014-10-20 63 views
0

嗨,我正在使用Crystal Report 2008创建报告。我需要将以下Oracle SQL查询转换为Crystal Report记录选择公式。在Crystal Report记录选择公式中使用like运算符

Oracle查询是:

AND 
(
    UPPER(920_SEARCH_REPORT.HANDICAP_TYPE) LIKE UPPER(:HANDICAP_TYPE) 
    OR UPPER(920_SEARCH_REPORT.SKSKODENR) LIKE UPPER(:SKSKODENR) 
) 

我有这样的转换公式像下面的样子:水晶报表执行时

and 
(
    isnull({?Hancicap_Type}) = true 
     or ((UpperCase({?Hancicap_Type}) Like ("*"&UpperCase({920_SEARCH_REPORT.HANDICAP_TYPE})&"*"))  
     or (UpperCase({?SKSKODENR}) Like ("*"&UpperCase({920_SEARCH_REPORT.SKSKODENR})&"*"))) 
) 

但数据没有显示。但是sql查询返回一条记录。

任何人都可以帮助我解决问题。

+0

公式中使用isnull的方法 – Siva 2014-10-20 09:13:49

+0

它检查参数值是否为null。 IsNull函数没有必要使用。我们可以这样做:{?Hancicap_Type} =“”或.... – 2014-10-20 09:32:26

+0

这就是你缺少的一点....即时通讯这种情况下使用,如果功能,那么我相信你的公式将工作 – Siva 2014-10-20 09:51:28

回答

0

您需要使用正确的参数语法:{?parameter_name}

... 
AND 
(
    (UPPER(920_SEARCH_REPORT.HANDICAP_TYPE) LIKE "*" + UPPERCASE({?HANDICAP_TYPE}) + "*") 
    OR 
    (UPPER(920_SEARCH_REPORT.SKSKODENR) LIKE "*" + UPPERCASE({?SKSKODENR}) + "*") 
) 
相关问题