Google Ads Sorgu Dili grameri

Bu sayfada Google Ads Query Language dilbilgisi referansı yer alır. Sorgu yapısı ayrıntıları için Sorgu yapısı başlıklı makaleyi inceleyin.

Dil bilgisi referansı

Google Ads Sorgu Dili gramer referansını (normal ifade gösteriminde) aşağıda bulabilirsiniz:

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
  • ? isteğe bağlı bir öğeyi gösterir.
  • * sıfır veya daha fazla, + ise bir veya daha fazla anlamına gelir.
  • (...) gruplandırmayı, "(" ve ")" ise gerçek parantezleri gösterir.
  • [a-z0-9] karakter aralıklarını, [^...] ise listelenen karakterler dışındaki herhangi bir karakteri ifade eder.
  • |, "veya" anlamına gelir.

Kurallar ve sınırlamalar

  • GoogleAdsService sorgulanırken FromClause gereklidir ve GoogleAdsFieldService sorgulanırken atlanmalıdır.

  • WhereClause, koşulların yalnızca AND ile birleştirilmesini destekler. Mantıksal OR desteklenmiyor. Bunun yerine IN veya REGEXP_MATCH operatörünü kullanın.

  • REGEXP_MATCH operatörü RE2 söz dizimini kullanır.

  • LIKE operatörünü kullanarak [, ], % veya _ karakteriyle eşleşmek için karakteri köşeli parantez içine alın. Örneğin, aşağıdaki koşul [Earth_to_Mars] ile başlayan tüm campaign.name değerleriyle eşleşir:

    campaign.name LIKE '[[]Earth[_]to[_]Mars[]]%'
    
  • LIKE operatörü yalnızca bir dize alanında kullanılabilir, dizide kullanılamaz.