-- 示例代码:从 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 获取字段长度
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站