القواعد النحوية للغة طلبات البحث في "إعلانات Google"

فيديو: التحقّق من صحة طلبات البحث

تحتوي هذه الصفحة على مرجع لقواعد اللغة المستخدَمة في طلبات بحث "إعلانات Google". لمعرفة تفاصيل بنية طلب البحث، يُرجى الاطّلاع على بنية طلب البحث.

في ما يلي مرجع لقواعد اللغة المستخدَمة في طلبات بحث "إعلانات Google" (بتدوين التعبير العادي):

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 syntax.

  • لمطابقة حرف [ أو ] أو % أو _ حرفي باستخدام عامل التشغيل LIKE، يجب وضع الحرف بين أقواس مربّعة. على سبيل المثال، يطابق الشرط التالي جميع قيم campaign.name التي تبدأ بـ [Earth_to_Mars]:

    campaign.name LIKE '[[]Earth[_]to[_]Mars[]]%'
    
  • لا يمكن استخدام عامل التشغيل LIKE إلا في حقل سلسلة، وليس في مصفوفة.