为什么是;[计数(*):0];返回而不是仅“返回”;0“;在groovy中执行sql查询时?

为什么是;[计数(*):0];返回而不是仅“返回”;0“;在groovy中执行sql查询时?,sql,groovy,Sql,Groovy,为什么在groovy中执行sql查询时返回“[COUNT(*):0]”而不是仅返回“0”?我怎样才能只返回一个数字 def res = sql.firstRow("""SELECT count(*) FROM bd.pas WHERE INN = ? AND SYSDATE >= RECDATEBEGIN AND SYSDATE < RECDATEEND AND NVL(DLL, 0) = 0 """

为什么在groovy中执行sql查询时返回“[COUNT(*):0]”而不是仅返回“0”?我怎样才能只返回一个数字

            def res = sql.firstRow("""SELECT count(*) FROM bd.pas WHERE INN = ?
AND SYSDATE >= RECDATEBEGIN AND SYSDATE < RECDATEEND AND NVL(DLL, 0) = 0
""",['test'])
            println(res)
def res=sql.firstRow(““”从bd.pas中选择count(*),其中INN=?
和SYSDATE>=RECDATEBEGIN和SYSDATE
在查询中使用别名:

def res = sql.firstRow("""SELECT count(*) as num FROM bd.pas WHERE INN = ?
AND SYSDATE >= RECDATEBEGIN AND SYSDATE < RECDATEEND AND NVL(DLL, 0) = 0
""",['test'])

在查询中使用别名:

def res = sql.firstRow("""SELECT count(*) as num FROM bd.pas WHERE INN = ?
AND SYSDATE >= RECDATEBEGIN AND SYSDATE < RECDATEEND AND NVL(DLL, 0) = 0
""",['test'])
firstRow()

这就是为什么您会得到
[COUNT(*):0]

要仅从中获取数字,您可以执行以下操作:

def res = sql.firstRow("""SELECT count(*) FROM bd.pas ...""",['test']).values().first()
firstRow()

这就是为什么您会得到
[COUNT(*):0]

要仅从中获取数字,您可以执行以下操作:

def res = sql.firstRow("""SELECT count(*) FROM bd.pas ...""",['test']).values().first()

注意与
Java
有关的内容。正在删除标记。注意与
Java
有关的内容。移除标签。