我有一个QueryDSL和Spring Data JPA的安装程序,在这里我主要尝试使用cast,以便能够将字符串转换为日期以进行比较和/或排序
下面我可以用QueryDSL本身提供的castToNum来做到这一点,是否有类似的方法来完成日期?
如果没有。我还有其他方法可以使用QueryDSL,Spring Data JPA或组合吗?
再次,我的问题和我想要实现的是在查询时将varchar列值转换为datetime以进行比较和/或排序。
如下所示
where cast(myuser0_.value as datetime)>=?
castToNum提供的QueryDSL方法的示例
NumberExpression<Integer> paths = path.castToNum(Integer.class);
return paths.goe(Integer.parseInt(criteria.getValue().toString()))
您可以使用DateTemplate
定义一个自定义表达式,该表达式会将字符串值转换为日期以进行比较。由于您使用的是MySQL,因此可以使用STR_TO_DATE
转换字符串值。