我正在尝试在grails中运行查询,我要过滤的其中一个字段是mysql中的日期时间类型。我试过这样做:
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])
但是这给了我一个错误:意外的令牌! 我无法更改域用户和数据库,因为它们已经过时且包含实时数据。 那我该怎么做呢?
答案 0 :(得分:2)
你的鳕鱼应该是这样的
def foundUsers = User.findByUsernameLikeAndEnabledAndExpiration_date('%params.searchStr%',1,timeNow)
了解有关动态查找器的更多信息
答案 1 :(得分:0)
试试这个:
foundUsers = User.executeQuery("from User u where u.username LIKE ? and u.enabled = 1 and u.expiration_date > ?",['%params.searchStr%', timeNow],[max:20])