在MySQL中如何使用JSON_EXTRACT并获得无引号字符串?

在MySQL中如何使用JSON_EXTRACT并获得无引号字符串?

在MySQL中,JSON_EXTRACT函数是用于从JSON对象中提取特定属性值的函数,语法如下:

JSON_EXTRACT(json_object, expr[, path])
Mysql

其中json_object是要从中提取属性的JSON对象,expr是要提取的属性名,path是一个可选参数,它允许您指定在JSON对象的层次结构中搜索该属性。

当使用JSON_EXTRACT函数时,默认情况下返回的是一个带引号的字符串,如果你想要得到无引号的字符串,可以使用JSON_UNQUOTE函数对结果进行处理,语法如下:

JSON_UNQUOTE(JSON_EXTRACT(json_object, expr[, path]))
Mysql

让我们看一个例子,假设我们有如下JSON对象:

{
   "name": "Sarah",
   "age": 26,
   "hometown": {
      "city": "New York",
      "state": "NY"
   }
}
Mysql

如果我们想提取name属性的值,并且希望结果不带引号,可以使用以下语句:

SELECT JSON_UNQUOTE(JSON_EXTRACT(json_obj, '$.name')) AS 'name' FROM my_table;
Mysql

上述语句将返回无引号的字符串Sarah,而不是带引号的字符串"Sarah"

请注意,如果要在查询中使用JSON_EXTRACT函数,您必须确保在MySQL中启用了JSON支持。您可以通过运行以下命令来检查:

SHOW VARIABLES LIKE 'have_json';
Mysql

如果结果为YES,则表示您的MySQL启用了JSON支持。

阅读更多:MySQL 教程

总结

JSON_EXTRACT函数是MySQL中用于提取JSON对象中特定属性值的函数,而JSON_UNQUOTE函数则允许您在获取属性值时去掉引号,得到无引号字符串。如果您在MySQL中使用JSON_EXTRACT函数,请确保您启用了JSON支持。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册