我正在处理一个postgres查询,它通过api调用向查询传递一个参数。我修改了它,使其在sqldeveloper中本地运行。
WHERE (string_to_array( name ,',')) =
CASE
WHEN 0=1 THEN (string_to_array( name ,','))
ELSE
ANY(string_to_array( 'John Smith,Steve Adam' ,','))
END
AND (string_to_array( role ,',')) =
CASE
WHEN 0 = 1 THEN (string_to_array( Role ,','))
ELSE
ANY(string_to_array( 'Manager,Analyst' ,','))
END;
运行时,出现以下错误:
错误:“any”处或附近的语法错误
有人知道为什么会这样吗?postgres不喜欢我在case语句中使用any吗(抱歉,如果我的格式不好)
2条答案
按热度按时间f4t66c6m1#
这个
ANY()
必须走到=
接线员。请试试这个:
deikduxw2#
扩展我的评论上面。这似乎更具可读性: