Postgresql请求wtith array_to_string

时间:2016-09-16 13:25:35

标签: sql postgresql stored-procedures casting request

您好我正在写一个pgsql函数,在这个函数中,我有一个请求使用array_to_string方法。

middle mouse key

ID是一个整数但是array_to_string返回字符串,所以: 错误结果: 运算符不存在整数<>文本

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

您的查询等同于id NOT IN( '1,2,3' )。您无法将ID与字符串进行比较。

有必要将数组扩展到表:

AND id NOT IN(select * from unnest(excludeArcs))

答案 1 :(得分:0)

转换为字符串是错误的 - 字符串操作更昂贵

postgres=# select 10 = ANY(ARRAY[10,20,30]);
┌──────────┐
│ ?column? │
╞══════════╡
│ t        │
└──────────┘
(1 row)

postgres=# select 10 <> ALL(ARRAY[10,20,30]);
┌──────────┐
│ ?column? │
╞══════════╡
│ f        │
└──────────┘
(1 row)