首页 > 数据库 > mysql教程 > MySQL 的 JSON_TABLE 函数如何将 JSON 数组转换为行?

MySQL 的 JSON_TABLE 函数如何将 JSON 数组转换为行?

Patricia Arquette
发布: 2024-11-29 05:37:17
原创
782 人浏览过

How Can MySQL's JSON_TABLE Function Convert JSON Arrays into Rows?

在 MySQL 中将 JSON 数组转换为行

在 MySQL 5.7 及更早版本中,操作 JSON 可能具有挑战性,尤其是在将 JSON 数组转换为行。然而,在 MySQL 8 中,新的 JSON_TABLE 函数提供了一个简单的解决方案。

JSON_TABLE 函数

JSON_TABLE 函数允许您轻松地从 JSON 文档和映射中提取数据它到关系表模式。要将 JSON 数组转换为行,请使用以下语法:

SELECT *
FROM JSON_TABLE(
  <json_array>,
  "$[*]"
  COLUMNS(
    <column_name> <data_type> PATH "$"
  )
) <table_alias>;
登录后复制

示例

考虑一个 JSON 数组:

[5, 6, 7]
登录后复制

您可以使用 JSON_TABLE 将其转换为表格:

SELECT *
FROM JSON_TABLE(
  '[5, 6, 7]',
  "$[*]"
  COLUMNS(
    Value INT PATH "$"
  )
) data;
登录后复制

输出将be:

| Value |
|---|---|
| 5 |
| 6 |
| 7 |
登录后复制

一般字符串分割

MySQL 缺乏原生的字符串分割功能。但是,您可以使用 JSON_TABLE 来实现类似的结果:

set @delimited = 'a,b,c';

SELECT *
FROM JSON_TABLE(
  CONCAT('["', REPLACE(@delimited, ',', '", "'), '"]'),
  "$[*]"
  COLUMNS(
    Value varchar(50) PATH "$"
  )
) data;
登录后复制

这会将分隔字符串拆分为 JSON 数组,然后将其转换为表。

以上是MySQL 的 JSON_TABLE 函数如何将 JSON 数组转换为行?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板