postgressql去掉字段parent字段值{11485,12496}的{}变成 11485,12496
时间: 2024-11-04 10:16:08 浏览: 19
浅谈django model postgres的json字段编码问题
在PostgreSQL中,如果你想从一个包含`parent`字段的结果集中移除花括号`{}`并保留里面的数值逗号分隔列表,你可以使用数组函数和字符串处理函数。假设你的数据存储在一个名为`table_name`的表的`parent`字段中,你可以使用以下SQL查询:
```sql
SELECT unnest(string_to_array(parent, ','))
FROM table_name
WHERE parent LIKE '%{%' AND parent ~ '%}%';
```
这个查询做了以下几件事:
1. `string_to_array(parent, ',')`将包含花括号的字符串`parent`按逗号分割成数组。
2. `unnest()`函数会将数组中的每个元素分开,去除花括号。
3. `LIKE '%{%' AND parent ~ '%}%'`是一个条件,只选择那些父字段值以`{`开始和结束的行。
结果将会是一个不带花括号的新数组,例如 `11485,12496`。
如果`parent`是整数类型而不是文本,那么可以直接操作,无需转换:
```sql
UPDATE table_name
SET parent = replace(parent, '{', '')
WHERE parent LIKE '{%';
```
这将直接删除匹配模式的`{}`符号。
请注意,根据实际情况调整表名、列名以及正则表达式模式。
阅读全文