繁体   English   中英

在SQL中解析JSON字符串

[英]Parse JSON string in SQL

我的SQL表中有一列JSON字符串。 我想提取“页面”值,任何想法如何? { “action.type”: “点击”, “网页”:1424}

Hive实际上只有get_json_object的命令

这是一个纯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的结果

它真的很啰嗦,但它逐步显示它是如何获得这个价值的。 您可以轻松地将其重构为存储过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM