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