Использование '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")