将DateandTime转换为时间,并与数据库进行比较以进行验证



我想写一个验证,如果数据库中已经存在相同的CCN和日期,那么我的查询结果应该为true,从JSON和in数据库的日期时间保存在"中;yyyy-MM-dd HH:MM:ss";,但在我的验证中,我只需要取日期[yyyy-MM-dd]并进行比较。

我是春季启动的新手

这是我的模型类中的内容

@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Temporal(TemporalType.DATE)
private Date datetime;

我的班级的存储库

@Query("SELECT CASE WHEN COUNT(c) > 0 THEN true ELSE false END FROM TABLEX c WHERE c.ccn = :ccn and c.datetime= :datetime")
boolean isExistbyCcnAndDate(@Param("ccn") String conveyancereferencenumber, @Param("datetime") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date);

当我尝试这样做时,结果总是错误的。

这就是我将值传递到存储库的方式

DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateString = sdf.format(model.getDatetime());
convertedDate = sdf.parse(dateString);
isExistCcnAndDate=repository.isExistbyCcnAndDate(model.getCcn(),convertedDate);

查看我的sqlfiddle。

http://sqlfiddle.com/#!9/5305eb/3

使用sql fiddle,这将起作用:创建shema:

create table c(datetime DATETIME, ccn TEXT)
insert into c (datetime, ccn) values ('2020-01-01 10:10:50' , 'a');

尝试一步一步地读取和筛选:

select * from c;
select * from c where c.datetime = '2020-01-01 10:10:50';
select * from c where date(c.datetime)= date('2020-01-01');

正如我已经说过的,您是否可以使用date((、date((或其他什么取决于您的服务器,sqlfiddle就是MySQL。

相关内容

  • 没有找到相关文章

最新更新