Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在SQL中查询JSON字符串_Mysql_Sql_Json_Parsing - Fatal编程技术网

Mysql 在SQL中查询JSON字符串

Mysql 在SQL中查询JSON字符串,mysql,sql,json,parsing,Mysql,Sql,Json,Parsing,我有一个表,它是由JSON字符串组成的单列。JSON有多个键对,是一个字符串,因为它是原始表 其中一个键是“Ticket”,具有美元金额值。我不确定价格是采用\uuuuu.\uuuu格式,还是仅采用\uuuuuu格式。如果此“Ticket”以6结尾,如96美分或66美分等,我想查询列以返回整个字符串 这是我的疑问: SELECT json FROM tablename WHERE json RLIKE '%"TICKET": "___6",%' OR json RLIKE '%"TICKET":

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

其中一个键是
“Ticket”
,具有美元金额值。我不确定价格是采用
\uuuuu.\uuuu
格式,还是仅采用
\uuuuuu
格式。如果此
“Ticket”
以6结尾,如96美分或66美分等,我想查询列以返回整个字符串

这是我的疑问:

SELECT json FROM tablename
WHERE json RLIKE '%"TICKET": "___6",%'
OR json RLIKE '%"TICKET": "__._6",%'
当前返回为空


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

您使用的搜索字符串就是您要使用的字符串

所以你可以用:

或带有正则表达式的:

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

标记您的RDBMS(sql server、oracle等)及其版本。在不知道数据的情况下,很难判断这有什么问题,但这些下划线要求数据具有准确的字符数。您使用的是哪种DBMS?博士后?神谕DB2?火鸟?这是我需要的。我今天太累了,想不起来我应该把它改成正则表达式而不是通配符。谢谢
select * from tablename
where json RLIKE '"TICKET":[ ]*"[0-9.]+6"'