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

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

Description

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

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

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

  1. .....
  2. public Object uuidStr(@NotNull JSONObject current, String uuid) {
  3. try {
  4. return UUID.fromString(uuid);
  5. } catch (Exception e) {
  6. e.printStackTrace();
  7. return uuid;
  8. }
  9. }
  10. ......

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

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

现在的问题是,我想实现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 远程函数

相关问题