您好我正在写一个pgsql函数,在这个函数中,我有一个请求使用array_to_string方法。
middle mouse key
ID是一个整数但是array_to_string返回字符串,所以: 错误结果: 运算符不存在整数<>文本
有人可以帮助我吗?
答案 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)