Klauzule PATTERN pro MATCH_RECOGNIZE

Platí pro:check marked yes Databricks SQL check marked yes Databricks Runtime 19.0 and above

Important

Tato funkce je v beta verzi. Správci pracovního prostoru můžou řídit přístup k této funkci ze stránky Previews . Viz Manage Azure Databricks preview.

Určuje vzor, který se má shodovat v operaci 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

Primární vzor

  • variable

    Proměnná definovaná v klauzuli DEFINE . Nedefinovaná proměnná odpovídá všem řádkům.

  • $

    Konec oddílu.

  • ^

    Začátek oddílu.

    V této verzi ^ a $ jsou podporovány pouze na úvodní nebo koncové pozici vzoru nejvyšší úrovně. Podporuje se například, ^ A B $ ale ukotvení střední sekvence, jako A ^ B jsou a ukotvení jednotlivých větví, jako (^ A) | (B $) nejsou podporovány.

Operátor vzoru

  • ( [ row_pattern ] )

    Seskupení, které přepíše prioritu.

  • PERMUTE ( row_pattern [, ...] )

    Odpovídá vzorům řádků v libovolné permutaci pořadí. PERMUTE vyžaduje aspoň dva vzory. Pokud zadáte méně než dvě, Azure Databricks vyvolá MATCH_RECOGNIZE_PERMUTE_TOO_FEW_PATTERNS. Pokud zadáte více než podporované maximum, Azure Databricks vyvolá MATCH_RECOGNIZE_PERMUTE_TOO_MANY_PATTERNS.

  • row_pattern | row_pattern

    Odpovídá některému ze vzorů řádků.

  • row_pattern row_pattern

    Odpovídá sekvenci vzorů řádků.

Kvantifikátor vzorů

Určuje, jak často pattern_primary se musí shodovat:

  • *

    Nula nebo vícekrát.

  • +

    Jednou nebo vícekrát.

  • ?

    Najednou.

  • { n }

    Přesně n časy. n musí být INTEGER literál větší než 0.

  • { min , [ max ] }

    Aspoň min časy a v případě, že jsou zadané až do časového limitu max .

  • { , max }

    Ne vícekrát max .

Pokud vynecháte kvantifikátor, výchozí hodnota je { 1 }: přesně jedna shoda.

Běžné chybové podmínky