1

こんにちは、Microsoft SQL Server Management studio にフェッチしようとしています。私の列の 1 つに、別の列の値に基づいて取得したい int の配列があります。

私は次のようなクエリを作成しています:

int[] appsId = db.Fetch<int[]>($"SELECT Apps FROM [dbo].[Group] WHERE Name = @0", user.Groups[0]).FirstOrDefault();

表には次の (短縮された) 情報があります。

Name    Apps
123     [356, 1589]

これを使用すると、「入力文字列が正しい形式ではありませんでした」という例外が発生します。

任意のアイデア、ありがとう!

4

2 に答える 2

1

おそらく、クエリでその配列をアンパックする必要があります。

SELECT Value 
FROM [dbo].[Group] 
CROSS APPLY 
( 
   SELECT CAST(VALUE AS INT) Value 
   FROM OPENJSON(APPS) 
) v
WHERE Name = @0
于 2020-06-17T13:16:18.060 に答える