Использование 'like' в выражениях ssrs

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

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

в свойстве BackgroundColor.

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

Ответ 1

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

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

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

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

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

Ответ 2

Это похоже на доступ: не '%', а '*':

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

Ответ 3

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

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

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

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

Ответ 4

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

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