我正在使用CriteriaBuilder创建搜索我们的应用程序。我们的一个表有一个用于存储多种数据类型的列。
(实施类似于此问题中给出的答案的选项2:Sane way to store different data types within same column in postgres?)
基本上我想做的事情很简单:
Predicate datePredicate = cb.lessThan(field.get(MyTable_.value), new Date());
但是,value
是String
,无法与Date
正确比较。
我的问题是,有没有办法将字符串转换/转换为比较日期?
答案 0 :(得分:-1)
通过强制转换无法实现,但您可以使用SimpleDateFormat将字符串解析为日期:
String date1AsString = "20160101";
Date date1AsDate = new SimpleDateFormat("yyyyMMdd").parse(date1AsString);