java - java中当两个日期之间的天数差大于某个值时删除记录
问题描述
当 SYSDATE 和 insertDate(我的表的时间戳(6)格式的字段)之间的差异大于 20 天时,我需要删除记录。我尝试了以下方法:
String myQuery = "delete from STUDENT where SYSDATE - insertDate > INTERVAL '20' DAY";
session.createQuery(myQuery).executeUpdate();
但我收到此错误:
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: 20 near line 1
在此查询之后,我创建了一个标准来检索剩余学生的列表。这是删除记录的最佳方法吗?还是我应该使用标准?如果是这样怎么办?谢谢
解决方案
试试这个查询:
String myQuery = "delete from STUDENT where (SYSDATE - insertDate) > 20";
session.createQuery(myQuery).executeUpdate();
推荐阅读
- aws-lambda - 从公共 lambda 访问极光无服务器
- python - Python - 循环中的条目值 - 如何更新起始值
- flutter - flutter web中的typeAhead文本字段
- javascript - 我可以在 sendgrid 上使用 Javascript 吗?
- javascript - 如何将 ref 从父元素传递给子元素
- powerbi - Power BI - 在折线图和堆积柱形图中按日期顺序对列系列进行排序
- angular - 以角度读取对象数组
- javascript - 如何通过节点中的正则表达式提取子字符串数组?
- javascript - 如何解决 NodeJS 测试框架中的 UnhandledPromiseRejectionWarning
- server - 在转移服务器后在 Prestashop-In Admin-Product 等页面显示 500 内部服务器错误