在ssrs表达式中使用'like'

时间:2012-01-25 20:32:11

标签: sql reporting-services expression reportbuilder3.0 ssrs-expression

我正在尝试在值中包含“截止日期”字样时突出显示字段。我正在尝试使用表达式:

=IIf(Fields!Notes.Value like "%deadline%","Yellow","Transparent")

在BackgroundColor属性中

不突出显示该字段(不更改背景颜色)。 'Notes'字段是一种文本数据类型,如果有所不同,我正在使用Report Builder 3.0。我做错了什么?

5 个答案:

答案 0 :(得分:35)

就像访问:不是'%'而是'*':

=Fields!Notes.Value Like "*deadline*"

答案 1 :(得分:12)

SSRS NOT 使用SQL语法,而是使用Visual Basic。

使用以下内容:

=IIf(Fields!Notes.Value.IndexOf("deadline") >= 0,"Yellow","Transparent")

或.Contains而不是.IndexOf

=IIf(Fields!Notes.Value.ToLowerInvariant().Contains("deadline"),"Yellow","Transparent")

答案 2 :(得分:9)

“InStr”适合我:

=IIF(InStr(Fields!Notes.Value,"deadline")>0, "Yellow", "Transparent") 

请记住,比较值是大小写的,所以也许可以使用UCASE:

=IIF(InStr(UCASE(Fields!Notes.Value),"DEADLINE"))>0, "Yellow", "Transparent") 

答案 3 :(得分:2)

为什么不使用类似的东西:

Fields!Notes.Value.Contains("deadline") 

答案 4 :(得分:0)

它区分大小写。仅供参考。使用小写字母-=IIf(LCase(Fields!Notes.Value) Like "*deadline*","Yellow","Transparent")