如何从Student_fees_deposit表的JSON列提取id=1的amount值
提取JSON字段中的指定值
针对你要从Student_fees_deposit表中id=1记录的amount_detail字段提取amount值的需求,不同数据库有对应的实现方式:
MySQL
可以使用JSON_EXTRACT函数或->>运算符直接定位JSON路径:
-- 方式1:使用JSON_EXTRACT函数 SELECT JSON_EXTRACT(amount_detail, '$.1.amount') AS amount FROM Student_fees_deposit WHERE id = 1; -- 方式2:使用->>运算符(更简洁) SELECT amount_detail->>'$.1.amount' AS amount FROM Student_fees_deposit WHERE id = 1;
PostgreSQL
通过JSON操作符->(获取JSON对象)和->>(获取文本值)组合,或者使用json_extract_path_text函数:
-- 方式1:使用操作符组合 SELECT (amount_detail->'1'->>'amount') AS amount FROM Student_fees_deposit WHERE id = 1; -- 方式2:使用json_extract_path_text函数 SELECT json_extract_path_text(amount_detail, '1', 'amount') AS amount FROM Student_fees_deposit WHERE id = 1;
SQL Server
使用JSON_VALUE函数提取指定路径的文本值:
SELECT JSON_VALUE(amount_detail, '$.1.amount') AS amount FROM Student_fees_deposit WHERE id = 1;
以上语句都会返回id=1记录中amount字段的值5000.00。
内容的提问来源于stack exchange,提问作者KasimaEse
相关产品推荐
相关产品推荐

