SQL 更新JSON字段中的特定值:如何从JSON数组中取出'其它'并更新到字段
假设有一个名为reason的字段,其值为'{"value":["公共","其它"],"cascader":true}',如何使用SQL取出value值中的'其它',并更新到原字段中?
可以使用以下SQL语句取出value中的'其它'并更新到原字段中:
UPDATE table_name
SET reason = JSON_SET(reason, '$.value[1]', '其它')
WHERE JSON_CONTAINS(reason->'$.value', '"其它"', '$');
其中,table_name是你要更新的表名。这条SQL语句使用了JSON函数JSON_SET和JSON_CONTAINS来更新和查询JSON数据。
解释:
JSON_SET(reason, '$.value[1]', '其它'):将reason字段中$.value[1]路径的值更新为'其它'。JSON_CONTAINS(reason->'$.value', '"其它"', '$'):判断reason字段中$.value路径的值是否包含'其它'。
注意,上述SQL语句假设数据库支持JSON数据类型和相关函数。如果你的数据库不支持JSON类型,可能需要使用其他方式处理JSON数据。
原文地址: https://www.cveoy.top/t/topic/ndp5 著作权归作者所有。请勿转载和采集!