MySQL|通过JSON_UNQUOTE实现MySQL中JSON数据的干净提取

文章目录

JSON_UNQUOTE() 是 MySQL 中用于处理 JSON 数据类型的一个函数。它的主要作用是从 JSON 字符串中移除最外层的引号,这对于从 JSON 对象或数组中提取字符串值特别有用。

语法

sql 复制代码
JSON_UNQUOTE(json_string)
  • json_string: 这是你想要去掉引号的 JSON 字符串、对象或者数组元素。

使用示例

假设你有一个包含 JSON 数据的表 my_table,其中有一列 json_column,存储了如下 JSON 数据:

json 复制代码
{
  "name": "Alice",
  "age": 30,
  "city": "Wonderland"
}

如果你想查询 name 的值,并且不想要结果带有双引号,你可以使用 JSON_UNQUOTE() 函数:

sql 复制代码
SELECT JSON_UNQUOTE(JSON_EXTRACT(json_column, '$.name')) AS name
FROM my_table;

这将会返回 Alice 而不是 "Alice"

注意事项

  • 如果 json_string 不是有效的 JSON 格式,JSON_UNQUOTE() 将会返回 NULL
  • 如果 json_string 不是以引号包围的字符串(例如数字或布尔值),JSON_UNQUOTE() 仍然会正常工作,因为它不会尝试去移除不存在的引号。
  • JSON_UNQUOTE() 通常与 JSON_EXTRACT() 或者 -> 操作符一起使用来获取和清理 JSON 数据中的具体值。

希望这些信息能帮助更好地理解和使用 JSON_UNQUOTE() 函数。如果有更多关于 MySQL JSON 函数的问题,或者其他任何问题,欢迎一起讨论

相关推荐
一航jason17 分钟前
Android平台推理框架及试用场景模型对比
android·人工智能·ai·架构·ai编程·llama
一航jason24 分钟前
Android 端侧大模型推理框架对比
android·人工智能·ai·ai编程·llama·ai-native
新时代牛马1 小时前
cyclictest 毛刺从哪来?从ftrace、latencytop、perf到IRQ/调度延迟定位
android·开发语言·python·kotlin
hasty1 小时前
Origin 校验不是身份认证:MySQL MCP Server 漏洞给 AI 平台的警告
数据库·mysql·安全
光电的一只菜鸡3 小时前
为什么调整LSC会对AF产生影响
android·开发语言·kotlin
凛_Lin~~3 小时前
LiveData 源码解析
android·安卓·livedata
hai_android3 小时前
FusibleFlow:Kotlin Flow 的融合机制原理
android·kotlin
龚寿生4 小时前
23-敏捷开发实战:从Scrum到看板的团队协作方法论
android·学习·scrum·敏捷流程
JavaPub-rodert4 小时前
Docker 安装 MySQL 完整教程:从零部署数据库,到生产环境持久化配置
数据库·mysql·docker
隔窗听雨眠4 小时前
MySQL整库迁移至KaiwuDB完全指南:从数据类型映射到生产切换的系统性实践
数据库·mysql