You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL报错:无法将text[]转为uuid,ANY查询出错求助

问题分析与修正

你的SQL存在两处错误,分别导致了类型转换报错和逻辑判断问题:

  • 类型转换错误:你传入的$1是文本格式的UUID数组,直接写$1::uuid是试图把整个数组转换成单个UUID类型,这必然失败。正确的做法是将数组转换成UUID数组,即使用$1::uuid[]。
  • NULL判断错误:SQL中判断字段是否为NULL不能用=,因为NULL不等于任何值(包括自身),必须用IS NULL来做判断。

修正后的SQL语句:

SELECT c.name FROM cars c 
LEFT JOIN location_orders_cars loc ON loc.car_id = c.id 
WHERE loc.user_id = ANY($1::uuid[]) AND loc.location_orders_id = $2 AND loc.is_back IS NULL 
LIMIT 10;

如果使用ORM或客户端框架传入参数,需确保参数本身是正确的数组格式,避免额外的类型冲突。

内容的提问来源于stack exchange,提问作者oemer ok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:27:03