Ngữ pháp của Ngôn ngữ truy vấn Google Ads

Trang này chứa thông tin tham khảo về ngữ pháp của Ngôn ngữ truy vấn Google Ads. Để biết thông tin chi tiết về cấu trúc truy vấn, hãy xem phần Cấu trúc truy vấn.

Tài liệu tham khảo về ngữ pháp

Sau đây là tài liệu tham khảo về ngữ pháp Ngôn ngữ truy vấn Google Ads (theo ký hiệu biểu thức chính quy):

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
  • ? cho biết một phần tử không bắt buộc.
  • * có nghĩa là không hoặc nhiều hơn; + có nghĩa là một hoặc nhiều hơn.
  • (...) cho biết một nhóm, còn "(" và ")" cho biết dấu ngoặc đơn theo nghĩa đen.
  • [a-z0-9] biểu thị phạm vi ký tự và [^...] biểu thị mọi ký tự, ngoại trừ các ký tự được liệt kê.
  • | là viết tắt của "hoặc".

Quy tắc và giới hạn

  • Bạn phải có FromClause khi truy vấn GoogleAdsService và phải bỏ qua khi truy vấn GoogleAdsFieldService.

  • WhereClause chỉ hỗ trợ kết hợp các điều kiện với AND. OR logic không được hỗ trợ; thay vào đó, hãy sử dụng toán tử IN hoặc REGEXP_MATCH.

  • Toán tử REGEXP_MATCH sử dụng cú pháp RE2.

  • Để so khớp một giá trị cố định [, ], % hoặc _ bằng toán tử LIKE, hãy đặt ký tự trong dấu ngoặc vuông. Ví dụ: điều kiện sau đây khớp với tất cả các giá trị campaign.name bắt đầu bằng [Earth_to_Mars]:

    campaign.name LIKE '[[]Earth[_]to[_]Mars[]]%'
    
  • Bạn chỉ có thể sử dụng toán tử LIKE trên một trường chuỗi, chứ không phải một mảng.