Este conteúdo não está disponível no idioma selecionado.

6.4.2. Server-side selector syntax


Following is the informal syntax for server-side selectors:
SelectExpression ::= OrExpression? // Note 0

// Lexical Elements
Alpha ::= [a-zA-Z]
Digit ::= [0-9]

IdentifierInitial ::= Alpha | "_" | "$"
IdentifierPart ::= IdentifierInitial | Digit | "."
Identifier ::= IdentifierInitial IdentifierPart*
Constraint : Identifier NOT IN ("NULL", "TRUE", "FALSE", "NOT", "AND", "OR", "BETWEEN", "LIKE", "IN", "IS", "ESCAPE")  // Note 1


LiteralString ::= ("'" [^']* "'")+  // Note 2
LiteralExactNumeric ::= Digit+
Exponent ::= ("+"|"-")? LiteralExactNumeric
LiteralApproxNumeric ::=  Digit "." Digit* ( "E" Exponent )?  |
                           "." Digit+ ( "E" Exponent )?  |
                           Digit+ "E" Exponent   // Note 1
LiteralBool ::= "TRUE" | "FALSE"   // Note 1
Literal ::= LiteralBool | LiteralString | LiteralApproxNumeric | LiteralExactNumeric


EqOps ::= "=" | "<>"
ComparisonOps ::= EqOps | ">" | ">=" | "<" | "<="
AddOps ::= "+" | "-"
MultiplyOps ::= "*" | "/"

// Expression syntax
OrExpression ::= AndExpression  ( "OR" AndExpression )*
AndExpression ::= ComparisonExpression ( "AND" ComparisonExpression )*
ComparisonExpression ::= AddExpression "IS" "NOT"? "NULL" |
                         AddExpression "NOT"? "LIKE" LiteralString ( "ESCAPE" LiteralString )? | 
                         AddExpression "NOT"? "BETWEEN" AddExpression "AND" AddExpression |
                         AddExpression "NOT"? "IN" "(" PrimaryExpression ("," PrimaryExpression)* ")" |
                         AddExpression ComparisonOps AddExpression |
                         "NOT" ComparisonExpression |
                         AddExpression   // Note 3


AddExpression ::= MultiplyExpression (  AddOps MultiplyExpression )*
MultiplyExpression ::= UnaryArithExpression ( MultiplyOps UnaryArithExpression )*
UnaryArithExpression ::= AddOps AddExpression |
                         "(" OrExpression ")" |
                         PrimaryExpression
PrimaryExpression ::= Identifier |
                      Literal
Copy to Clipboard Toggle word wrap
Note 0: If the overall expression is empty it evaluates to true; whitespace is ignored; and an empty selector will be interpreted as always true.
Note 1: All reserved words, including the "E" for exponent and the boolean values true and false, are case-insensitive.
Note 2: The continuation of this pattern enables embedded single quotes. Single quotes can be embedded so: '' becomes '.
Note 3: In the ( "ESCAPE" LiteralString ) clause, LiteralString is limited to a one character string. The characters % and _ are not allowed.
Voltar ao topo
Red Hat logoGithubredditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar. Explore nossas atualizações recentes.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja o Blog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

Theme

© 2025 Red Hat