Gramática del lenguaje de consulta de Google Ads

Video: Validating Queries

Esta página contiene la referencia de la gramática del Lenguaje de consulta de Google Ads. Para obtener detalles sobre la estructura de las consultas, consulta Estructura de consulta.

Esta es la referencia de la gramática del Lenguaje de consulta de Google Ads (en notación de expresiones regulares):

Query            -> SelectClause FromClause WhereClause? OrderByClause?
                    LimitClause? ParametersClause?
SelectClause     -> SELECT FieldName (, FieldName)*
FromClause       -> FROM ResourceName
WhereClause      -> WHERE Condition (AND Condition)*
OrderByClause    -> ORDER BY Ordering (, Ordering)*
LimitClause      -> LIMIT PositiveInteger
ParametersClause -> PARAMETERS Literal = Value (, Literal = Value)*

Condition        -> FieldName Operator Value
Operator         -> = | != | > | >= | < | <= | IN | NOT IN |
                    LIKE | NOT LIKE | CONTAINS ANY | CONTAINS ALL |
                    CONTAINS NONE | IS NULL | IS NOT NULL | DURING |
                    BETWEEN | REGEXP_MATCH | NOT REGEXP_MATCH
Value            -> Literal | LiteralList | Number | NumberList | String |
                    StringList | Function
Ordering         -> FieldName (ASC | DESC)?

FieldName        -> [a-z] ([a-zA-Z0-9._])*
ResourceName     -> [a-z] ([a-zA-Z_])*

StringList       -> ( String (, String)* )
LiteralList      -> ( Literal (, Literal)* )
NumberList       -> ( Number (, Number)* )

PositiveInteger  -> [1-9] ([0-9])*
Number           -> -? [0-9]+ (. [0-9] [0-9]*)?
String           -> (' Char* ') | (" Char* ")
Literal          -> [a-zA-Z0-9_]*

Function         -> LAST_14_DAYS | LAST_30_DAYS | LAST_7_DAYS |
                    LAST_BUSINESS_WEEK | LAST_MONTH | LAST_WEEK_MON_SUN |
                    LAST_WEEK_SUN_SAT | THIS_MONTH | THIS_WEEK_MON_TODAY |
                    THIS_WEEK_SUN_TODAY | TODAY | YESTERDAY

?indica un elemento opcional.
* significa cero o más; + significa uno o más.
(xxxxxx) indica una agrupación.
[a-z0-9] indica rangos de caracteres.
| significa "o".

Reglas y limitaciones

  • El operador REGEXP_MATCH usa la sintaxis RE2.

  • Para hacer coincidir un carácter literal [, ], % o _ con el operador LIKE, coloca el carácter entre corchetes. Por ejemplo, la siguiente condición hace coincidir todos los valores de campaign.name que comienzan con [Earth_to_Mars]:

    campaign.name LIKE '[[]Earth[_]to[_]Mars[]]%'
    
  • El operador LIKE solo se puede usar en un campo de cadena, no en un array.