Я хочу передать массив строк в качестве параметра запроса оператору IN
. Я боролся с этим некоторое время, и ничего, что я пытаюсь, кажется, не работает. Мне интересно, возможно ли это вообще сделать.
Я пробовал следующие варианты синтаксиса:
where state IN (@states)
where state IN @states
where state IN ARRAY(@states)
where state IN (ARRAY(@states))
И это конец C #:
new BigQueryParameter("states", BigQueryDbType.Array, new[] {"AL", "CA"}),
new BigQueryParameter("states", null, new[] {"AL", "CA"}),
Я получаю множество ошибок, в зависимости от того, что я пытаюсь:
- Нет соответствующей подписи для оператора IN для типов аргументов STRING и {ARRAY }
- Синтаксическая ошибка: ожидается "(" или ключевое слово SELECT или ключевое слово WITH, но получено "@"
- Синтаксическая ошибка: ожидается "(" или ключевое слово UNNEST, но получено ключевое слово ARRAY
- Синтаксическая ошибка: ожидается "(" или ключевое слово UNNEST, но получено "@"