Tata bahasa Google Ads Query Language

Halaman ini berisi referensi tata bahasa Google Ads Query Language. Untuk mengetahui detail struktur kueri, lihat Struktur kueri.

Referensi tata bahasa

Berikut referensi tata bahasa Google Ads Query Language (dalam notasi ekspresi reguler):

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 IS NULL
                  | FieldName IS NOT NULL
                  | FieldName BETWEEN Value AND Value
                  | FieldName Operator Value
Operator         -> "=" | "!=" | ">" | ">=" | "<" | "<=" | IN | NOT IN
                  | LIKE | NOT LIKE | CONTAINS ANY | CONTAINS ALL
                  | CONTAINS NONE | DURING
                  | 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-Z0-9_])*

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

PositiveInteger  -> [1-9]([0-9])*
Number           -> -?[0-9]+(\.[0-9]+)?
String           -> ("'" SingleQuoteChar* "'") | ('"' DoubleQuoteChar* '"')
SingleQuoteChar  -> [^'\\\r\n] | EscapeSequence
DoubleQuoteChar  -> [^"\\\r\n] | EscapeSequence
EscapeSequence   -> "\\" ("\\" | "'" | '"' | "n" | "r" | "t")
Literal          -> [a-zA-Z]([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
  • ? menunjukkan elemen opsional.
  • * berarti nol atau lebih; + berarti satu atau lebih.
  • (...) menunjukkan pengelompokan, sedangkan "(" dan ")" menunjukkan tanda kurung literal.
  • [a-z0-9] menunjukkan rentang karakter, dan [^...] menunjukkan karakter apa pun kecuali karakter yang tercantum.
  • | berarti "atau".

Aturan dan batasan

  • FromClause diperlukan saat membuat kueri GoogleAdsService dan harus dihilangkan saat membuat kueri GoogleAdsFieldService.

  • WhereClause hanya mendukung penggabungan kondisi dengan AND. OR logis tidak didukung; gunakan operator IN atau REGEXP_MATCH.

  • Operator REGEXP_MATCH menggunakan sintaksis RE2.

  • Untuk mencocokkan [, ], %, atau _ literal menggunakan operator LIKE, sertakan karakter dalam tanda kurung siku. Misalnya, kondisi berikut cocok dengan semua nilai campaign.name yang dimulai dengan [Earth_to_Mars]:

    campaign.name LIKE '[[]Earth[_]to[_]Mars[]]%'
    
  • Operator LIKE hanya dapat digunakan pada kolom string, bukan array.