当前位置: 首页 > news >正文

MySQL 中 -> 和 ->> 操作符的区别

简介

  • MySQL 5.7 或更高版本,可以使用 ->>-> 运算符简化语法
  • 这两个操作符都是用于提取 JSON 数据的,但有一些重要区别

-> 操作符

  • 功能:提取 JSON 对象的指定路径的值

  • 返回类型:返回 JSON 类型的值(可能带有引号)

  • 等效于JSON_EXTRACT(json_doc, path)

  • 示例

    SELECT additional_info->'$.source' FROM calendar;
    

    如果 additional_info{"source": "google"},返回的是 JSON 格式的 "google"(带引号)

->> 操作符

  • 功能:提取 JSON 对象的指定路径的值并取消引用

  • 返回类型:返回字符串类型的值(去掉引号)

  • 等效于JSON_UNQUOTE(JSON_EXTRACT(json_doc, path))

  • 示例

    SELECT additional_info->>'$.source' FROM calendar;
    

    同样的数据会返回字符串 google(不带引号)

关键区别对比

特性->->>
返回值类型JSON 类型(可能带引号)字符串类型(无引号)
等效函数JSON_EXTRACT()JSON_UNQUOTE(JSON_EXTRACT())
使用场景需要保留JSON格式时需要普通字符串时
NULL处理路径不存在返回NULL路径不存在返回NULL

实际应用示例

-- 假设 additional_info = '{"source": "google", "score": 5}'SELECT additional_info->'$.source' AS with_quotes,    -- 返回 ""google"" (JSON字符串)additional_info->>'$.source' AS without_quotes, -- 返回 "google" (普通字符串)additional_info->'$.score' AS score_json,      -- 返回 5 (JSON数字)additional_info->>'$.score' AS score_string    -- 返回 "5" (字符串)
FROM calendar;

何时使用哪个

  • 使用 ->> 当:
    • 你需要直接比较或作为字符串使用
    • 你需要去除JSON字符串的引号
    • 你需要将结果与其他字符串连接
  • 使用 -> 当:
    • 你需要保持JSON格式进行进一步JSON操作
    • 你需要确保返回的是有效的JSON值
    • 你要将结果传递给其他JSON函数
http://www.dtcms.com/a/266495.html

相关文章:

  • github上部署自己的静态项目
  • 【狂飙AGI】第7课:AGI-行业大模型(系列1)
  • jsonCPP 开源库详解
  • CentOS配置网络
  • RocketMQ延迟消息是如何实现的?
  • 深度学习基础1
  • 基于Android的财务记账App
  • 【wps】 excel 删除重复项
  • AI 应用于进攻性安全
  • linux_git的使用
  • MySQL 8.0:窗口函数
  • 【Unity开发】Unity实现对模型移动、缩放、旋转操作的功能
  • 基于Docker构建OrangePi5 SDK环境
  • 408第三季part2 - 计算机网络 - 计算机网络基本概念
  • 闲庭信步使用SV搭建图像测试平台:第二十九课——绘制正弦波的图片
  • Android 实现底部弹窗
  • Datasophon的Ranger安装时数据库踩坑及问题解决
  • NeighborGeo:基于邻居的IP地理定位(三)
  • NeighborGeo:基于邻居的IP地理定位(二)
  • 【WEB】Polar靶场 6-10题 详细笔记
  • Jenkins-Email Extension 插件插件
  • 前端开发-前置知识
  • Android WebView 性能优化指南
  • Vue2中的keep-alive:组件状态缓存与性能优化实战指南
  • Android发展历程
  • Android 安装使用教程
  • [论文精读]StruQ: Defending Against Prompt Injection with Structured Queries
  • 前端捕获异常的全面场景及方法
  • 算法题目记录
  • OTC机器人焊机节气设备