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. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Manage Azure Databricks Previews.

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