Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Datetime 在grails中使用日期查询_Datetime_Grails - Fatal编程技术网

Datetime 在grails中使用日期查询

Datetime 在grails中使用日期查询,datetime,grails,Datetime,Grails,我试图在grails中运行一个查询,我想从中筛选的字段之一是mysql中的datetime类型。我试着这样做: def formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") def timeNow = formatter.format(new Date()) foundUsers = User.executeQuery("from User u where u.username LIKE '%"+params.searchStr+"%'

我试图在grails中运行一个查询,我想从中筛选的字段之一是mysql中的datetime类型。我试着这样做:

def formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
def timeNow = formatter.format(new Date())
foundUsers = User.executeQuery("from User u where u.username LIKE '%"+params.searchStr+"%' and u.enabled =1 and u.expiration_date>"+timeNow,[max:20])
但这给了我一个错误:意外的标记! 我无法更改域用户和数据库,因为它们是旧的并且包含实时数据。 那我该怎么做呢?

试试这个:

    foundUsers = User.executeQuery("from User u where u.username LIKE ? and u.enabled = 1 and u.expiration_date > ?",['%params.searchStr%', timeNow],[max:20])
  • 我相信意外的代币是因为在u.到期日之后的'>'
  • 您的代码未保存为sql注入
  • 你的鳕鱼应该是这样的

    def foundUsers=User.findbyusernamelikeandenabledandeexpiration_date(“%params.searchStr%”,1,timeNow)

  • 阅读有关动态查找器的更多信息


    我还必须检查middlename、lastname和firstname的相似性,我该怎么做?它能支持这么多“喜欢”吗?是的,你可以有User.findbyusernamelikeandmddlenamelike和lastnamelike(“%1%”、“%2%”、“%3%”)我做了这个foundUsers=User.findbyusernamelikeorfirstnamelikeormidlenamelike或lastnamelikeandenabledandExpirationDate(“%params.searchStr%”、“%params.searchStr%”、“%params.searchStr%”、“%params.searchStr%”、“%params.searchStr%”、1、new Date())并且出现错误,找不到nameI did foundUsers=User.findAll(“从用户u where(u.username like?或u.firstname like?或u.middlename like?或u.lastname like?)和u.enabled=?和u.expirationDate>”,[searchStr,searchStr,searchStr,true,new Date(),[max:10])的属性,[searchStr并且它工作了!!谢谢你的帮助!:)