我的 SQL 表中有一列 JSON 字符串。我想提取“页面”值,知道怎么做吗?{"action.type":"click","page":1424}
问问题
4259 次
2 回答
2
Hive 实际上有一个仅针对该get_json_object的命令
于 2012-06-13T19:29:50.213 回答
2
这是一个纯 SQL 版本。
DECLARE @json varchar(64);
DECLARE @index int;
SELECT @json = '{"action.type":"click","page":1424}';
DECLARE @length int = LEN(@json);
DECLARE @pageIndex int = CHARINDEX('page":', @json);
DECLARE @difference int = @length - (@pageIndex + 6); -- 6 is for page":
SELECT @index = CHARINDEX('page', @json);
SELECT SUBSTRING(@json, @index + 6, @difference);
这会给你一个结果1424
它真的很啰嗦,但它一步一步地展示了它是如何获得这个价值的。您可以轻松地将其重构为存储过程。
于 2012-06-13T19:30:09.213 回答