0

我只想知道是否可以在 Grails 中的单个执行查询中转换这行代码。

String answer = StudentAnswerData.findWhere(student: studentObject, exam: examObject)?.answer

answer.replaceAll('0','')?.size()

对特定StudentAnswerData的代码查询然后计算其答案中不为零的字符,其中answer是由数字字符组成的字符串(例如 2435000025442032030000)。

提前致谢。

4

1 回答 1

0

您可以使用派生属性执行此操作

http://grails.org/doc/2.3.x/guide/GORM.html#derivedProperties

class StudentAnswerData {
    Integer answerLength
    String answer

    static mapping = {
        answerLength formula: "length(replace(answer, '0', ''))"  //oracle specific syntax
    }
}

然后您可以将 answerLength 用作常规属性

于 2014-02-28T22:44:11.533 回答