PATTERN-Klausel für MATCH_RECOGNIZE

Gilt für:check marked yes Databricks SQL check marked yes Databricks Runtime 19.0 and above

Important

Dieses Feature befindet sich in der Betaversion.

Gibt das Muster an, das in einem MATCH_RECOGNIZE-Vorgang übereinstimmen soll.

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äres Muster

  • variable

    Eine variable, die in der DEFINE-Klausel definiert ist. Eine nicht definierte Variable entspricht allen Zeilen.

  • $

    Das Ende der Partition.

  • ^

    Der Anfang der Partition.

    In dieser Version ^ werden sie $ nur an der führenden oder nachfolgenden Position des Musters der obersten Ebene unterstützt. Beispielsweise wird unterstützt, ^ A B $ aber Mid-Sequence-Anker wie A ^ B z. B. und Verzweigungsanker wie (^ A) | (B $) z. B. werden nicht unterstützt.

Musteroperator

  • ( [ row_pattern ] )

    Eine Gruppierung, die Vorrang überschreibt.

  • PERMUTE ( row_pattern [, ...] )

    Gleicht Zeilenmuster in einer beliebigen Reihenfolge ab. PERMUTE erfordert mindestens zwei Muster. Wenn Sie weniger als zwei angeben, löst Azure Databricks MATCH_RECOGNIZE_PERMUTE_TOO_FEW_PATTERNS aus. Wenn Sie mehr als das unterstützte Maximum angeben, löst Azure Databricks MATCH_RECOGNIZE_PERMUTE_TOO_MANY_PATTERNS aus.

  • row_pattern | row_pattern

    Entspricht einem der Zeilenmuster.

  • row_pattern row_pattern

    Entspricht einer Abfolge von Zeilenmustern.

Muster-Quantifizierer

Gibt an, wie oft die pattern_primary Übereinstimmung erfolgen muss:

  • *

    Null oder mehrere Male.

  • +

    Ein- oder mehrmals.

  • ?

    Höchstens einmal.

  • { n }

    Genau n mal. n muss ein INTEGER Literal größer als 0sein.

  • { min , [ max ] }

    Mindestens min mal und falls angegeben, bis zu max zeiten.

  • { , max }

    Nicht mehr als max mal.

Wenn Sie einen Quantifizierer weglassen, lautet { 1 }der Standardwert : genau eine Übereinstimmung.

Häufige Fehlerbedingungen