Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql json取值

作者:嗜血之舞   发布日期:2026-05-27   浏览:32

-- 示例代码:从 JSON 字段中取值

-- 假设我们有一个表 `users`,其中有一列 `profile` 是 JSON 类型,存储用户的个人信息。

-- 创建示例表
CREATE TABLE users (
    id INT PRIMARY KEY,
    profile JSON
);

-- 插入示例数据
INSERT INTO users (id, profile) VALUES 
(1, '{"name": "Alice", "age": 25, "city": "New York"}'),
(2, '{"name": "Bob", "age": 30, "city": "Los Angeles"}');

-- 1. 使用 -> 操作符获取 JSON 中的值(返回 JSON 格式)
SELECT id, profile->"$.name" AS name_json FROM users;

-- 2. 使用 ->> 操作符获取 JSON 中的值并去除外层引号(返回纯文本)
SELECT id, profile->>"$.name" AS name_text FROM users;

-- 3. 使用 JSON_EXTRACT 函数获取 JSON 中的值(返回 JSON 格式)
SELECT id, JSON_EXTRACT(profile, '$.age') AS age_json FROM users;

-- 4. 使用 JSON_UNQUOTE 和 JSON_EXTRACT 组合获取 JSON 中的值并去除外层引号(返回纯文本)
SELECT id, JSON_UNQUOTE(JSON_EXTRACT(profile, '$.city')) AS city_text FROM users;

解释说明:

  • -> 操作符用于从 JSON 字段中提取值,结果保留 JSON 格式。
  • ->> 操作符用于从 JSON 字段中提取值,并且会自动去除外层的引号,返回纯文本。
  • JSON_EXTRACT() 函数可以用来从 JSON 字段中提取指定路径的值,结果为 JSON 格式。
  • JSON_UNQUOTE() 函数可以去掉 JSON 字符串中的引号,通常与 JSON_EXTRACT() 结合使用以获取纯文本。

上一篇:mysql convert_tz

下一篇:mysql 获取字段长度

大家都在看

mysql二级索引

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql 1265

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站