检查GroovyRowResult字段是否为空字符串

时间:2018-06-07 08:27:01

标签: sql groovy

我正在使用sql.firstRow根据某些条件检查postgres数据库中是否存在行。

def cur = sql.firstRow(r, '''
                                SELECT "some_thing"
                                FROM "my_table"
                                WHERE "customer_name" = :customer_name
                                AND "sad_date" = :sad_date
                                AND "forgiver" = :forgiver
                            ''')

我发现这有效:

if (cur){
      log.debug("Found Some thing " + cur["some_thing"])
      log.debug("Cur: " + cur.keySet())
}

然而,这允许在其中没有some_field的任何行中。

问题

为避免这种情况,当我们尝试检查结果行中some_field的非空值的存在时,如下所示:

if (cur && "${cur.some_thing}" ){
  log.debug("Found Some thing " + cur["some_thing"])
}

错误

我收到错误建议:

No signature of `String.positive` for argument types for the given type. 

我已阅读this question并已从cur.some_thingcur['some_thing']更改为“$ {cur.some_thing}”,但错误不会消失

我还尝试了this post并尝试使用cur.getProperty("some_thing"),但它仍然会引发同样的错误。

0 个答案:

没有答案