گرامر زبان جستجوی تبلیغات گوگل

ویدئوی : اعتبارسنجی کوئری‌ها

این صفحه شامل مرجع گرامر زبان پرس‌وجوی گوگل ادز است. برای جزئیات ساختار پرس‌وجو، به ساختار پرس‌وجو مراجعه کنید.

مرجع گرامر زبان کوئری گوگل ادز (به صورت عبارت منظم) در اینجا آمده است:

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 فقط روی فیلدهای رشته‌ای قابل استفاده است، نه روی آرایه‌ها.