我希望将字符串数组作为查询参数传递给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"}),
根据我的尝试,我会遇到各种错误:
答案 0 :(得分:1)
像这样使用UNNEST运算符:
SQL
where state IN UNNEST(@states)
C#
new BigQueryParameter("states", BigQueryDbType.Array, new[] {"AL", "CA"}) {ArrayElementType = BigQueryDbType.String},