Grails标准不区分大小写
在Grails的子句中有没有一种不区分大小写的Grails标准不区分大小写,grails,gorm,Grails,Gorm,在Grails的子句中有没有一种不区分大小写的 我有这个: "in"("name", filters.tags) 我希望它忽略这个案子。我想我可以做一个sqlRestriction,在(commaSeparatedFilterTags)中做一些类似于UPPER(name)的事情,然后获取筛选标记列表并创建一个以逗号分隔的列表,其中所有标记都是大写的,但我想知道是否有更简单/更好的方法?是的,您可以使用 def commaSeparatedFilterTags = "'name 1','NAME
我有这个:
"in"("name", filters.tags)
我希望它忽略这个案子。我想我可以做一个sqlRestriction,在(commaSeparatedFilterTags)中做一些类似于UPPER(name)
的事情,然后获取筛选标记列表并创建一个以逗号分隔的列表,其中所有标记都是大写的,但我想知道是否有更简单/更好的方法?是的,您可以使用
def commaSeparatedFilterTags = "'name 1','NAME 2','namE 3',...,'name N'"
DomainClass.createCriteria().list{
sqlRestriction ("upper(name) in (${commaSeparatedFilterTags.toUpperCase()})")
}
或者在条件中使用循环
def filterTags=["name 1","NAME 2","namE 3",...,"name N"]
DomainClass.createCriteria().list{
or{
filterTags.each{
eq("name",it,[ignoreCase: true])
}
}
}
我希望这有帮助如果我有很多数据,循环在CPU方面不是很昂贵还是性能不好?是的,但是当您尝试使用“in”条件时,许多数据库会截断长数据,而且数据库更容易解析。