Альтернатива ключевому слову IN SQL в скриптах Siebel Server для поиска?
Кто-нибудь знает, как мы можем отфильтровать результаты BC на основе нескольких значений в спецификации поиска? Как IN
ключевое слово в SQL? что-то вроде:
bc.SetSearchExpr("[Id] in ('a','b','c')");
Или использование OR
оператор является единственным решением?
2 ответа
Решение
Нет, вы не можете использовать IN
в Siebel это недопустимый оператор поиска. Но, по крайней мере, вы можете упростить свое выражение, используя поисковую спецификацию вместо поискового выражения. Эти две строки делают одно и то же:
bc.SetSearchExpr("[Id]='a' or [Id]='b' or [Id]='c'");
bc.SetSearchSpec("Id", "='a' OR ='b' OR ='c'");
Обратите внимание, что вы не можете использовать оба SetSearchSpec
а также SetSearchExpr
методы одновременно.
Вы можете использовать ИЛИ, как это:
bc.SetSearchExpr("[Id] = 'a' or [Id] ='b' or [Id] ='c')");
но я думаю, используя IN
лучше, чем использовать OR
,
Кроме использования IN
или же OR
у вас нет выбора.