将字符串数组传递给Redshift

问题描述 投票:0回答:1

我在C#中有一个List<string>,我想在对Redshift的查询中使用它。例如:

List<string> fieldStringList = new List<string>(){"field1","field2","field3"};
await using var conn = new NpgsqlConnection("My Connection String");
await conn.OpenAsync();    
await using var cmd = new NpgsqlCommand("SELECT TOP 10 * FROM example WHERE field IN (:field);", conn);
cmd.Parameters.AddWithValue("field", NpgsqlDbType.Array | NpgsqlDbType.Varchar, fieldStringList.ToArray());

此操作失败,例外

Npgsql.PostgresException(0x80004005):42883:运算符不存在:字符变化=字符变化[]

似乎我正在尝试将varchar与varchar []进行比较?

如何将数组传递给Redshift查询?

c# amazon-redshift npgsql
1个回答
0
投票

IN运算符不接受数组。尝试以下操作:

SELECT TOP 10 * FROM example WHERE field = ANY (:field);
© www.soinside.com 2019 - 2024. All rights reserved.