הדף הזה מכיל את חומרי העזר בנושא דקדוק של שפת השאילתות של Google Ads. לפרטים על מבנה השאילתה, ראו מבנה השאילתה.
הסבר על הדקדוק
הנה הפניה לדקדוק של שפת השאילתות של Google Ads (בסימון של ביטויים רגולריים):
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
- הסמל
?מציין רכיב אופציונלי. *פירושו אפס או יותר;+פירושו אחד או יותר.-
(...)מציין קיבוץ, ו-"("ו-")"מציינים סוגריים מילוליים. [a-z0-9]מייצג טווחים של תווים, ו-[^...]מייצג כל תו חוץ מהתווים שברשימה.-
|מייצג את המילה "או".
כללים ומגבלות
צריך להשתמש ב-
FromClauseכששולחים שאילתה ל-GoogleAdsService, וצריך להשמיט אותו כששולחים שאילתה ל-GoogleAdsFieldService.ב-
WhereClauseאפשר לשלב תנאים רק עםAND. אין תמיכה באופרטור הלוגיOR. במקומו, צריך להשתמש באופרטורINאוREGEXP_MATCH.האופרטור
REGEXP_MATCHמשתמש בתחביר RE2.כדי להתאים תו מילולי מסוג
[,],%או_באמצעות האופרטורLIKE, צריך להקיף את התו בסוגריים מרובעים. לדוגמה, התנאי הבא תואם לכל הערכים שלcampaign.nameשמתחילים ב-[Earth_to_Mars]:campaign.name LIKE '[[]Earth[_]to[_]Mars[]]%'אפשר להשתמש באופרטור
LIKEרק בשדה מחרוזת, ולא במערך.