דקדוק שפת השאילתות ב-Google Ads

Video: Validating Queries

בדף הזה מופיע מדריך לדקדוק של שפת השאילתות של 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 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

?מציין רכיב אופציונלי
* מציין אפס או יותר; + מציין אחד או יותר
(xxxxxx) מציין קיבוץ
[a-z0-9] מציין טווחים של תווים
| מציין 'או'

כללים ומגבלות

  • האופרטור REGEXP_MATCH משתמש בתחביר של RE2.

  • כדי להתאים לתווים [,‏ ],‏ % או _ באמצעות האופרטור LIKE, צריך להקיף את התו בסוגריים מרובעים. לדוגמה, התנאי הבא מתאים לכל הערכים של campaign.name שמתחילים ב-[Earth_to_Mars]:

    campaign.name LIKE '[[]Earth[_]to[_]Mars[]]%'
    
  • אפשר להשתמש באופרטור LIKE רק בשדה מחרוזת, ולא במערך.