Вы можете указать параметр вместо любого выражения, значения или имени в запросе.
Вначале необходимо определить параметр, который затем можно использовать в нескольких местах в запросе. Например:
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"}")
...
В выпадающем списке значений вы увидите следующие возможные значения регулярного выражения:
- .* (любое значение)
- US
- UK
- Canada
- Australia
0 Комментарии