Предложение PATTERN для MATCH_RECOGNIZE

Область применения:check помечена да проверка Databricks SQL помечено да Databricks Runtime 19.0 и выше

Important

Эта функция доступна в бета-версии. Администраторы рабочей области могут управлять доступом к этой функции на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".

Указывает шаблон, соответствующий операции MATCH_RECOGNIZE .

Syntax

PATTERN ( row_pattern )
row_pattern
  { { pattern_primary | pattern_operator } [ pattern_quantifier ] }

pattern_primary
  { variable
  | $
  | ^ }

pattern_operator
  { ( [ row_pattern ] )
  | PERMUTE ( row_pattern [, ...] )
  | row_pattern | row_pattern
  | row_pattern row_pattern }

pattern_quantifier
  { *
  | +
  | ?
  | { n }
  | { min , [ max ] }
  | { , max } }

Parameters

Основной шаблон

  • variable

    Переменная, определенная в предложении DEFINE . Неопределенная переменная соответствует всем строкам.

  • $

    Конец раздела.

  • ^

    Начало секции.

    В этом выпуске ^ и $ поддерживаются только в верхней или конечной позиции шаблона верхнего уровня. Например, ^ A B $ поддерживается, но привязки средней последовательности, такие как и привязки для каждой ветви, такие как A ^ B(^ A) | (B $) не поддерживаются.

Оператор pattern

  • ( [ row_pattern ] )

    Группирование, которое переопределяет приоритет.

  • PERMUTE ( row_pattern [, ...] )

    Соответствует шаблонам строк в любом перемутации порядка. PERMUTE требует не менее двух шаблонов. Если указать менее двух, Azure Databricks вызывает MATCH_RECOGNIZE_PERMUTE_TOO_FEW_PATTERNS. Если указано больше поддерживаемого максимума, Azure Databricks вызывает MATCH_RECOGNIZE_PERMUTE_TOO_MANY_PATTERNS.

  • row_pattern | row_pattern

    Соответствует любой из шаблонов строк.

  • row_pattern row_pattern

    Соответствует последовательности шаблонов строк.

Квантификатор шаблонов

Указывает частоту pattern_primary сопоставления:

  • *

    Ноль или больше раз.

  • +

    Один или несколько раз.

  • ?

    По крайней мере один раз.

  • { n }

    n Точное время. n должен быть INTEGER литерал больше 0.

  • { min , [ max ] }

    По крайней мере min раз, и если задано до max времени.

  • { , max }

    Не более чем max раз.

Если вы опустите квантификатор, значение по умолчанию — { 1 }ровно одно совпадение.

Распространенные условия ошибки