Функция MatchAttr
проверяет соответствие экземпляров процессов выражению на основе регулярных выражений. Функция работает по значениям любой колонки.
Значения NULL или пустые строки игнорируются при работе функции. Если необходимо посчитать точные переходы учитывая NULL или пустое значение (Например, количество экз. процессов, где есть переход из "А" в NULL), то необходимо воспользоваться функцией matchAttrAllowNull
.
matchAttr('выражение','колонка')
Паттерны выражений:
Синтаксис | Описание | Пример |
---|---|---|
"" | В двойных кавычках записывается имя шага | "А" |
> или -> | Указание на следование | "А" > "В" или "А" -> "В" |
(|) | Группа событий объединенная по OR | ("А" | "В") |
! | Отрицание | !"А" |
* | 0 или более вхождений | "А"* |
+ | 1 или более вхождений | "А"+ |
.* | Любой шаг | "А" > .* |
Запрос:
select extId
from process
where matchAttr('.* -> "1ЛТП" -> "2ЛТП" -> .*', 'supp_level')
extId | supp_level |
---|---|
1 | 1ЛТП |
1 | NULL |
1 | 2ЛТП |
2 | 2ЛТП |
2 | 2ЛТП |
2 | 1ЛТП |
3 | 1ЛТП |
3 | 2ЛТП |
extId |
---|
1 |
3 |