SQL中日期类型比较(精确到时分秒)

时间类型比较

今天遇到一个时间类型的比较问题,之前的处理是传入一个String类型的日期格式(2020-10-27 10:08:00),然后执行这条sql

to_char(a.end_time,'yyyy-MM-dd HH:mm:ss') <= #{endTime}

但是在实际过程中发现好像用String类型的进行比较会产生空格后的时分秒无法比较,所以产生了一些问题,搜索了一些资料后,将sql改成了

to_number(to_date(a.end_time, 'YYYY-MM-DD HH24:MI:SS') - to_date(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')) <= 0

不过我们的数据库比较特殊,是金仓数据库,mysql的应该是

timestampdiff(SECOND,a.end_time,#{endTime}) <= 0

通过日期相减的方式获得精确到时分秒的时间比较。

猜你喜欢

转载自blog.csdn.net/badarker/article/details/109307320