id, alias, value
value列包含這個格式的json:
[
{
"num": 1,
"描述": "測驗1"
},
{
"num": 2,
"描述": "測驗2"
},
{
"num": 3,
"描述": "測驗2"
}
]
我想為我的SQL表中的每一行獲得json中的 "num "項的計數。
例如,查詢結果應該是這樣的
id CountOfNumFromValueColumn
------------------------------
1 3
更新--下面的SQL與上述json一起作業,并以上述格式給出結果
。SELECT id, count(Num) as CountOfNumFromValueColumn
FROM MyTable
CROSS APPLY OPENJSON ([value], N'$'/span>)
WITH (
num int)
WHERE ISJSON([value]) > 0
GROUP BY id
uj5u.com熱心網友回復:
你好,請試著用一些這樣的方法。
create function dbo.ufn_counter_rec(
@str varchar(max)。
@pattern varchar(100))
returns int
as
begin
declare @tbl table(mystring varchar(max));
declare @result int;
insert into @tbl values(@str)。
with T as (
select 0 as row, charindex(@pattern, mystring) pos, mystring from @tbl
unionall
select cast(pos as int) 1, charindex(@pattern, mystring, pos 1) , mystring
from T
where pos > 0 >。
)
select @result = count(*) from T where pos >。 0;
return @result
end
歸檔
select dbo.ufn_counter_rec('[
{
"num": 1,
"描述": "測驗1"
},
{
"num": 2,
"描述": "測驗2"
},
{
"num": 3,
"描述": "測驗2"
}
]', 'num')
uj5u.com熱心網友回復:
原來的問題現在已經更新,有了正確的答案
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/307253.html
標籤:
上一篇:如何將命令列引數傳遞給Cake(Frosting),而這些引數已經被System.CommandLine收集了?
