2
我想用JSON_VALUE
查詢到我的表中的數據:C#小巧玲瓏使用JSON_VALUE爲SQL Server 2016
var str = "123";
var value = "Name"
using(var conn = GetMyConnection())
{
var result = conn.QueryFirstOrDefault<string>(
@"SELECT [Id] FROM [dbo].[MyTable]
WHERE JSON_VALUE([JsonColumn], @MyQuery) = @Str",
new
{
MyQuery = $"$.{value}",
Str = str
}
);
}
我嘗試這在SQL Server中,這是工作:
SELECT [Id] FROM [dbo].[MyTable]
WHERE JSON_VALUE([JsonColumn], '$.Name') = '123'
我應該如何調整我的代碼?
我建議你創建一個存儲過程並放棄你的json字符串作爲參數並在那裏處理它。 – Valkyrie
我在本地環境中試過這段代碼。它能正常工作。代碼有什麼問題? –
@sarslan它不會工作,因爲OP將它傳遞爲文字,而在C#中,他試圖將它作爲變量傳遞。 SQL Server中的唯一方法是使用動態SQL或在C#代碼中構建查詢字符串。 – lad2025