Вы можете указать параметр вместо любого выражения, значения или имени в запросе.
Вначале необходимо определить параметр, который затем можно использовать в нескольких местах в запросе. Например:

SELECT COUNT(*) number
FROM (
TABLE_DATE_RANGE([githubarchive:day.events_],
TIMESTAMP('{dateFrom default="2015-01-01" type="datetime"}'),
TIMESTAMP('{dateTo default="2015-01-02" type="datetime"}')
))
WHERE type = '{event default='PushEvent' values='PushEvent,WatchEvent,ForkEvent' type='select'}'
LIMIT {limit_12 default="10" pattern="^[0-9]+$" type="input"}

 Типы параметров:

1. поле ввода (тип по умолчанию): {parameterName default="100" type="input" pattern="[0-9]*"}

  • default * — значение по умолчанию
  • type — input
  • pattern — регулярное выражение для проверки введенного значения

2. дата и время: {parameterName default="2015-01-02" type="datetime"}

  • default * — значение по умолчанию
  • type * — datetime

3. выбор из списка: {parameterName default="PushEvent" type="select" values​="PushEvent,WatchEvent,ForkEvent"}

  • default * — значение по умолчанию
  • type * — select
  • values * — список значений, через запятую

При последующих обращениях к параметру достаточно лишь указать его имя, например: {date}.
* Обязательные свойства.

Пример использования динамических параметров в регулярном выражении:

...
WHERE REGEXP_CONTAINS(user_country, r'{UserCountry default=".*" type="select" values​=".*,US,UK,Canada,Australia"}')
...

В выпадающем списке значений вы увидите следующие возможные значения регулярного выражения:

  1. .* (любое значение)
  2. US
  3. UK
  4. Canada
  5. Australia

regexp-dynamic-param.png

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 2 из 2
Еще есть вопросы? Отправить запрос

0 Комментарии

Войдите в службу, чтобы оставить комментарий.