PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

As regras de parênteses do PostgreSQL, existe um guia resumido?


"Existe um guia resumido?" , bem... A resposta é não , então:mãos à obra! Esta resposta é uma Wiki, vamos escrever.

Guia resumido


Deixar,
  • F () uma função usual. (ex. ROUND )
  • E () um operador de função (ex. ANY )
  • f uma função do tipo operador (ex. current_date )
  • Op um operador
  • Op1 , Op2 são operadores distintos
  • Valores ou expressões A, B, C
  • S uma lista de expressões, como "(A,B,C)"

As regras, usando esses elementos, estão na forma
  • regra :notas.

expressões matemáticas "puras"


Quando Ativado , Op1 , Op2 são operadores matemáticos (ex. + , - . * ) e F () é uma função matemática (ex. ROUND() ).

Regras para expressões escalares e "puro expressões de matriz":
  • Um Op B =(A Op B) :os parênteses são opcionais.
  • Um Op1 B Op2 C :precisa verificar a precedência .
  • (A Op1 B) Op2 C :aplicar "primeiro (A Op1 B)".
  • Um Op1 (B Op2 C) :aplicar "primeiro (B Op2 C)".
  • F (A) =(F (A)) =F ((A)) =(F ((A))) :os parênteses são opcionais.
  • S =(S) :os parênteses externos são opcionais.
  • f =(f ) :os parênteses são opcionais.

Expressões com operadores semelhantes a funções


Regras para operadores como ALL , ANY , ROW , SOME , etc
  • L (A) =L ((A)) :os parênteses são opcionais no argumento.
  • (L (A) :ERRO DE SINTAXE.

...Mais regras? Por favor, ajude a editar aqui.