Sql 如何从postgres文本列json字符串数组中删除值?
我有一个postgresql表,其列是文本数据类型。此列值是一个JSON字符串数组。这些值可以是任何顺序,例如Sql 如何从postgres文本列json字符串数组中删除值?,sql,json,postgresql,Sql,Json,Postgresql,我有一个postgresql表,其列是文本数据类型。此列值是一个JSON字符串数组。这些值可以是任何顺序,例如 ["a", "b", "c"] 或 或 现在,其中一个值“b”不再使用,需要从表中的每条记录中删除 所以[“a”、“b”、“c”]应该转换为[“a”、“c”] 我曾研究过使用postgres数组_remove()中的一个,但一直无法使其正常工作 使用remove后是否可以转换为数组类型并转换回字符串?使用jsonb值(必要
["a", "b", "c"]
或
或
现在,其中一个值“b”
不再使用,需要从表中的每条记录中删除
所以[“a”、“b”、“c”]
应该转换为[“a”、“c”]
我曾研究过使用postgres数组_remove()中的一个,但一直无法使其正常工作
使用remove后是否可以转换为数组类型并转换回字符串?使用
jsonb
值(必要时强制转换文本)和-
运算符:
UPDATE table SET col = col::jsonb - 'a';
()对json值使用
json
或jsonb
数据类型,而不是text
。有很多方法可以使用它。这很有效,谢谢。
["a"]
UPDATE table SET col = col::jsonb - 'a';