Sql 如何从postgres文本列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值(必要

我有一个postgresql表,其列是文本数据类型。此列值是一个JSON字符串数组。这些值可以是任何顺序,例如

["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';