我的查询如下:
SELECT id, category FROM table1
返回以下行:
ID|category
1 |{IN, SP}
2 |
3 |{VO}
有谁知道我如何删除PostgreSQL中字符串的第一个字符和最后一个字符,所以删除:{}?
答案 0 :(得分:6)
不确定,您对" 外来列"的意思是什么,但由于该列是一个数组,处理它的最佳方法是使用{{1} }
array_to_string()
花括号不是存储值的一部分。这只是用于显示的数组的string representation。
答案 1 :(得分:3)
使用多个REPLACE
函数。
SELECT id, REPLACE(REPLACE(category, '{', ''), '}', '')
FROM table1
或使用SUBSTRING
,LEFT
&组合LENGTH
函数
SELECT id, LEFT(SUBSTRING(category, 2, 999),LENGTH(SUBSTRING(category, 2, 999)) - 1)
FROM table1
或只是SUBSTRING
和LENGTH
SELECT id, SUBSTRING(category, 2, LENGTH(category)-2)
FROM table1
答案 2 :(得分:1)
您可以用空字符串替换try (OutputStream out = resp.getOutputStream()) {
out.write(1);
} catch (Exception e) {
e.printStackTrace();
}
{{1}}
答案 3 :(得分:0)
select id,
substring(category,charindex('{',category,len(category))+2,len(category)-2)
from table1;
答案 4 :(得分:0)
select id
,left(right(category,length(category)-1),length(category)-2) category
from boo
select id
,trim(both '{}' from category)
from boo
删除仅包含字符的最长字符串(空格 默认)从字符串的开头/结尾/两端
答案 5 :(得分:-1)
PostgreSQL中替换函数的语法是:
replace(string,from_substring,to_substring)
参数或参数
<强>字符串强>
源字符串。
<强> from_substring 强>
要查找的子字符串。在string中找到的所有出现的from_substring都替换为to_substring
的 to_substring 强>
替换子字符串。在string中找到的所有出现的from_substring都替换为to_substring。
答案 6 :(得分:-1)
UPDATE dbo.table1
SET category = REPLACE(category, '{', '')
WHERE ID <=3
UPDATE dbo.table1
SET category = REPLACE(category, '}', '')
WHERE ID <=3