使用QueryDSL或Spring Data JPA将CAST varchar数据类型转换为日期时间类型

问题描述 投票:0回答:1

我有一个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()))
datetime casting spring-data-jpa querydsl varchar
1个回答
0
投票

您可以使用DateTemplate定义一个自定义表达式,该表达式会将字符串值转换为日期以进行比较。由于您使用的是MySQL,因此可以使用STR_TO_DATE转换字符串值。

© www.soinside.com 2019 - 2024. All rights reserved.