grails GORM转义%字符

grails GORM转义%字符,grails,gorm,Grails,Gorm,我正在尝试使用GORM查询数据库,当我将“%”作为值传递时,它将返回表中的所有行。如何转义%character def query="from Person as t WHERE (firstName like :firstName)" def v ="%" gSearchMap[ firstName]= "%"+v+"%" def rows = domain.findAll(query.toString(),gSearchMap,limits) 您应该查看sql server的文档以了解该

我正在尝试使用GORM查询数据库,当我将“%”作为值传递时,它将返回表中的所有行。如何转义%character

def query="from Person as t WHERE  (firstName like :firstName)"
def v ="%"
gSearchMap[ firstName]= "%"+v+"%"
def rows = domain.findAll(query.toString(),gSearchMap,limits)

您应该查看sql server的文档以了解该语法的详细信息

在MySQL中,您可以使用\来实现:

def query="from Person as t WHERE firstName like '%\\%%"

请参见

详细说明您的问题。你现在描述的是完全有效的行为。选择*from person,其中firstname(如“%%”)为您提供表中所有非空的行。顺便说一句,gSearchMap[firstName]=%+v+%这是错误的。我只想选择包含%字符的fistname列。我从用户那里得到%的值,什么是转义这个字符的最好方法?谢谢,函数mysql\u real\u escape\u字符串在grails中是这样的吗