Clausola PATTERN per MATCH_RECOGNIZE

Si applica a:check contrassegnato come sì controllo SQL di Databricks contrassegnato come sì Databricks Runtime 19.0 e versioni successive

Importante

Questa funzionalità è in versione beta. Gli amministratori dell'area di lavoro possono controllare l'accesso a questa funzionalità dalla pagina Anteprime . Vedere Gestire le anteprime di Azure Databricks.

Specifica il criterio da trovare in un'operazione di 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

Modello primario

  • variable

    Variabile definita nella clausola DEFINE . Una variabile non definita corrisponde a tutte le righe.

  • $

    Fine della partizione.

  • ^

    Inizio della partizione.

    In questa versione ^ e $ sono supportati solo nella posizione iniziale o finale del modello di primo livello. Ad esempio, ^ A B $ è supportato, ma gli ancoraggi a media sequenza, ad A ^ B esempio e per ramo, ad esempio (^ A) | (B $) , non sono supportati.

Operatore Pattern

  • ( [ row_pattern ] )

    Raggruppamento che sostituisce la precedenza.

  • PERMUTE ( row_pattern [, ...] )

    Trova la corrispondenza con i modelli di riga in qualsiasi permutazione dell'ordine. PERMUTE richiede almeno due modelli. Se si specificano meno di due, Azure Databricks genera MATCH_RECOGNIZE_PERMUTE_TOO_FEW_PATTERNS. Se si specificano più del valore massimo supportato, Azure Databricks genera MATCH_RECOGNIZE_PERMUTE_TOO_MANY_PATTERNS.

  • row_pattern | row_pattern

    Corrisponde a uno dei modelli di riga.

  • row_pattern row_pattern

    Corrisponde a una sequenza di criteri di riga.

Quantificatore del modello

Specifica la frequenza con cui deve corrispondere l'oggetto pattern_primary :

  • *

    Zero o più volte.

  • +

    Una o più volte.

  • ?

    Al massimo una volta.

  • { n }

    Esattamente n le volte. n deve essere un valore INTEGER letterale maggiore di 0.

  • { min , [ max ] }

    min Almeno volte e se specificato fino a max volte.

  • { , max }

    Non più di max volte.

Se si omette un quantificatore, il valore predefinito è { 1 }: esattamente una corrispondenza.

Condizioni di errore comuni