Google Ads क्वेरी लैंग्वेज का व्याकरण

इस पेज पर, 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
  • ? से पता चलता है कि कोई एलिमेंट ज़रूरी नहीं है.
  • * का मतलब है कि कोई एलिमेंट शून्य या उससे ज़्यादा बार आ सकता है. वहीं, + का मतलब है कि कोई एलिमेंट एक या उससे ज़्यादा बार आ सकता है.
  • (...) से ग्रुपिंग का पता चलता है. वहीं, "(" और ")" से लिटरल पैरंटheses का पता चलता है.
  • [a-z0-9] से वर्णों की रेंज का पता चलता है. वहीं, [^...] से सूची में शामिल वर्णों के अलावा किसी भी वर्ण का पता चलता है.
  • | का मतलब "या" होता है.

नियम और सीमाएं

  • GoogleAdsService से क्वेरी करने पर, FromClause का इस्तेमाल करना ज़रूरी है. वहीं, GoogleAdsFieldService से क्वेरी करने पर, इसका इस्तेमाल नहीं किया जाना चाहिए.

  • WhereClause में, शर्तों को सिर्फ़ AND के साथ जोड़ा जा सकता है. लॉजिकल OR का इस्तेमाल नहीं किया जा सकता. इसके बजाय, IN या REGEXP_MATCH ऑपरेटर का इस्तेमाल करें.

  • `REGEXP_MATCH` ऑपरेटर, RE2 सिंटैक्स का इस्तेमाल करता है.

  • LIKE ऑपरेटर का इस्तेमाल करके, लिटरल [, ], % या _ से मिलान करने के लिए, वर्ण को स्क्वेयर ब्रैकेट में रखें. उदाहरण के लिए, यहां दी गई शर्त, campaign.name की उन सभी वैल्यू से मेल खाती है जो [Earth_to_Mars] से शुरू होती हैं:

    campaign.name LIKE '[[]Earth[_]to[_]Mars[]]%'
    
  • LIKE ऑपरेटर का इस्तेमाल सिर्फ़ स्ट्रिंग फ़ील्ड पर किया जा सकता है. इसका इस्तेमाल किसी कलेक्शन पर नहीं किया जा सकता.