Использование 'like' в выражениях ssrs - PullRequest
16 голосов
/ 26 января 2012

Я пытаюсь выделить поле, когда в значении есть слово «крайний срок».Я пытаюсь использовать выражение:

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

в свойстве BackgroundColor.

Не выделяет поле (не меняет цвет фона).Поле «Примечания» представляет собой текстовый тип данных, и я использую Report Builder 3.0, если это имеет значение.Что я делаю не так?

Ответы [ 4 ]

35 голосов
/ 26 января 2012

Это как в доступе: не '%', а '*':

=Fields!Notes.Value Like "*deadline*"
13 голосов
/ 26 января 2012

SSRS НЕ использует синтаксис SQL, но вместо этого использует Visual Basic.

Используйте что-то вроде этого:

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

Или. Содержит вместо .IndexOf

=IIf(Fields!Notes.Value.ToLowerInvariant().Contains("deadline"),"Yellow","Transparent")
9 голосов
/ 16 августа 2013

«InStr» работает для меня:

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

Помните, что значение сравнения учитывает регистр, поэтому, возможно, используйте UCASE:

=IIF(InStr(UCASE(Fields!Notes.Value),"DEADLINE"))>0, "Yellow", "Transparent") 
2 голосов
/ 26 января 2012

Почему бы не использовать что-то вроде:

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