APIJSON 远程函数执行结果如何作为数组条件进行传递

nukf8bse  于 4个月前  发布在  其他
关注(0)|答案(2)|浏览(78)

Description

postgresql数据库有一列id的类型为uuid,通过以下方式过滤数据库会提示两边类型不匹配的异常:operator does not exist: uuid = character varying

{
...
"id":"e94f8127-1dee-4f12-aefe-34f7fc601231"
....
}

编写了一个函数进行远程函数调用

.....
public Object uuidStr(@NotNull JSONObject current, String uuid) {
		try {
			return UUID.fromString(uuid);
		} catch (Exception e) {
			e.printStackTrace();
			return uuid;
		}
	}
......

可以通过以下方式返回正常结果

{
....
"id()":"uuidStr(e94f8127-1dee-4f12-aefe-34f7fc601231)"
}

现在的问题是,我想实现id in ('e94f8127-1dee-4f12-aefe-34f7fc601231','ebc48f09-47da-4941-88f4-adfdc28db0d0',....)的效果,但是好像没法同时用
"id(){}":[uuidStr(e94f8127-1dee-4f12-aefe-34f7fc601231),uuidStr(ebc48f09-47da-4941-88f4-adfdc28db0d0)..]

请问以上场景该如何实现

cyvaqqii

cyvaqqii1#

分步骤,两个键值对先后执行,远程函数需要 key-() 提高优先级

nqwrtyyt

nqwrtyyt2#

另外 PostgreSQL 可以加参数配置字符串传参,适配各种数据库类型,网上查下,可以不用 APIJSON 远程函数

相关问题