在SQL中查询JSON字符串

时间:2017-06-01 19:41:22

标签: mysql sql json parsing

我有一个表是一个由JSON字符串组成的列。 JSON有多个密钥对,并且是一个字符串,因为它是原始表。

其中一个键是"Ticket"并且具有美元金额值。我不确定价格是__.__格式还是____。如果"Ticket"以6分结尾,我想查询该列以返回整个字符串,如96美分或66美分等。

这是我的疑问:

SELECT json FROM tablename
WHERE json RLIKE '%"TICKET": "___6",%'
OR json RLIKE '%"TICKET": "__._6",%'

目前返回为空白。

如果美元金额以6(以6美分)结尾,如何获得整个字符串?

1 个答案:

答案 0 :(得分:0)

您使用的搜索字符串是您用于LIKE

的字符串

所以你可以使用LIKE:

select * from tablename
where (json LIKE '%"TICKET": "___6"%' or json LIKE '%"TICKET": "__._6"%')

或者带有正则表达式的RLIKE

select * from tablename
where json RLIKE '"TICKET":[ ]*"[0-9.]+6"'