Dokumentacja gramatyczna zapytania

Tabela poniżej zawiera kompletną gramatykę języka zapytań Search Ads 360.

Dokumentacja dotycząca gramatyki
Zapytanie
SELECT klauzula
SELECT FIELD_NAME (, FIELD_NAME)*
FROM klauzula
FROM RESOURCE_NAME
WHERE klauzula
WHERE CONDITION (AND CONDITION)*
ORDER BY klauzula
ORDER BY ORDERING (, ORDERING)*
LIMIT klauzula
LIMIT POSITIVE_INTEGER
PARAMETERS klauzula
PARAMETERS LITERAL = VALUE (, LITERAL = VALUE)*
Nazwa pola
[a-z] ([a-zA-Z0-9._])*
Nazwa zasobu
[a-z] ([a-zA-Z_])*
Warunek FIELD_NAME OPERATOR VALUE
Kolejność
FIELD_NAME (ASC | DESC)?
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
Funkcja
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
Wartość
LITERAL | LITERAL_LIST | NUMBER | NUMBER_LIST | STRING | STRING_LIST | FUNCTION
Dodatnia liczba całkowita
[1-9] ([0-9])*
Liczba
-? [0-9]+ (. [0-9] [0-9]*)?
Ciąg znaków
(' Char* ') | (" Char* ")
Dosłowny
[a-zA-Z0-9_]*
Lista ciągów znaków
( STRING (, STRING)* )
Lista dosłowna
( LITERAL (, LITERAL)* )
Lista numerów
( NUMBER (, NUMBER)* )

Klucz:

  • ? oznacza element opcjonalny.
  • * oznacza zero lub więcej
  • + oznacza co najmniej 1.
  • (xxxxxx) oznacza grupowanie.
  • [a-z0-9] oznacza zakres znaków.
  • Char oznacza dowolny znak.
  • | oznacza „lub”.
  • Operator REGEXP_MATCH używa składni RE2.
  • Aby dopasować literał [, ], % lub _ za pomocą operatora LIKE, ująć znak w nawiasach kwadratowych. Na przykład ten warunek pasuje do wszystkich wartości campaign.name, które zaczynają się od [Earth_to_Mars]:

    WHERE campaign.name LIKE '[[]Earth[_]to[_]Mars[]]%'