cláusula PATTERN para MATCH_RECOGNIZE

Aplica-se a:com visto sim Databricks SQL marcado sim Databricks Runtime 19.0 e superiores

Importante

Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Visualizações . Ver Gerir as pré-visualizações de Azure Databricks.

Especifica o padrão a corresponder numa operação MATCH_RECOGNIZE .

Sintaxe

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

Padrão primário

  • variable

    Uma variável definida na cláusula DEFINE . Uma variável indefinida corresponde a todas as linhas.

  • $

    O fim da partição.

  • ^

    O início da partição.

    Nesta versão, ^ e $ são suportados apenas na posição dianteira ou traseira do padrão de nível superior. Por exemplo, ^ A B $ é suportado, mas âncoras de sequência intermédia, como A ^ B e âncoras por ramo, como não (^ A) | (B $) são suportadas.

Operador de padrão

  • ( [ row_pattern ] )

    Um agrupamento que sobrepõe a precedência.

  • PERMUTE ( row_pattern [, ...] )

    Corresponde a padrões de linhas em qualquer permutação de ordem. PERMUTE requer pelo menos dois padrões. Se especificar menos de dois, Azure Databricks aumenta MATCH_RECOGNIZE_PERMUTE_TOO_FEW_PATTERNS. Se especificar mais do que o máximo suportado, Azure Databricks aumenta MATCH_RECOGNIZE_PERMUTE_TOO_MANY_PATTERNS.

  • row_pattern | row_pattern

    Corresponde a qualquer um dos padrões das filas.

  • row_pattern row_pattern

    Corresponde a uma sequência de padrões de linhas.

Quantificador de padrões

Especifica com que frequência os pattern_primary devem ser combinados:

  • *

    Zero ou mais vezes.

  • +

    Uma ou mais vezes.

  • ?

    No máximo, uma vez.

  • { n }

    Exatamente n horários. n deve ser um INTEGER literal maior que 0.

  • { min , [ max ] }

    Pelo min menos vezes, e se especificado até max algumas vezes.

  • { , max }

    Não mais do que max algumas vezes.

Se omitir um quantificador, o padrão é { 1 }: exatamente uma correspondência.

Condições de erro comuns