Hvisage Asked: 2016-07-13 00:36:23 +0800 CST2016-07-13 00:36:23 +0800 CST 2016-07-13 00:36:23 +0800 CST 如何在 MySQL 5.7 中为函数 JSON_EXTRACT 删除字符串引号? 772 除了在 each 之后进行字符串操作之外JSON_EXTRACT,是否有更简单或更正确的方法来JSON_EXTRACT返回不带引号的字符串? 或者这个问题应该在 StachExchange 上吗? mysql-5.7 json 3 个回答 Voted Best Answer AXM 2016-07-31T20:07:42+08:002016-07-31T20:07:42+08:00 如果您有 MySQL 5.7.13 或更高版本,您可以使用JSON_UNQUOTE()代替JSON_EXTRACT()或->>代替->. 例子: SELECT field->>"$.foo.barr" FROM table; Oriol Vilaseca 2019-08-03T07:50:15+08:002019-08-03T07:50:15+08:00 我无法评论亚历克斯马尔科夫的回答,因为我没有足够的声誉。在我的情况下,使用 JSON_UNQUOTE 而不是 JSON_EXTRACT 不起作用,但我可以通过将第二个包装在前者中来获得结果,如下所示: JSON_UNQUOTE(JSON_EXTRACT(bla bla)) Nihal Singh Verma 2020-10-31T06:01:01+08:002020-10-31T06:01:01+08:00 我已经使用JSON_EXTRACT_SCALAR()并且取消引用字符串工作正常。 你可以试试这个例子: SELECT emp_name, JSON_EXTRACT_SCALAR(address,'$[1].city_name') AS city FROM emp_details
如果您有 MySQL 5.7.13 或更高版本,您可以使用
JSON_UNQUOTE()
代替JSON_EXTRACT()
或->>
代替->
. 例子:SELECT field->>"$.foo.barr" FROM table;
我无法评论亚历克斯马尔科夫的回答,因为我没有足够的声誉。在我的情况下,使用 JSON_UNQUOTE 而不是 JSON_EXTRACT 不起作用,但我可以通过将第二个包装在前者中来获得结果,如下所示: JSON_UNQUOTE(JSON_EXTRACT(bla bla))
我已经使用
JSON_EXTRACT_SCALAR()
并且取消引用字符串工作正常。你可以试试这个例子: