我有一个包含毫秒和 AM/PM 的字符串以及日期时间显示,我需要将此值存储在时间戳数据库字段中。当我尝试 setString(strVal) 时,它没有采用完整值。
baseEntity.setLastUpdatedTimestamp(new Timestamp(new Date().getTime()));
@Column(name = "lastUpdatedTimestamp")
private Timestamp lastUpdatedTimestamp;
public void setLastUpdatedTimestamp(Timestamp lastUpdatedTimestamp) {
this.lastUpdatedTimestamp = lastUpdatedTimestamp;
}
在数据库中,值存储为:22-JUL-23 06.08.39.132000000 PM
数据库数据类型:T01_LAST_UPDT_USER_C VARCHAR2(8 BYTE)
我的需求是通过比较存储的值来获取记录来获取当前时间并超过24小时。
String pattern = "dd-MMM-yy hh.mm.ss_SSSSSSSSS a";
LocalDateTime nowTime = LocalDateTime.now();
String strVal = DateTimeFormatter.ofPattern(pattern).format(nowTime);
// O/P of Strval: 28-Jul-23 12.38.42_575595400 PM
String sqlquery = SELECT T01_LAST_UPDT_S FROM T01_TXN WHERE T01_LAST_UPDT_S<(?-?)";
PreparedStatement stmt = conn.prepareStatement(sqlquery);
stmt.setString(1, strVal); // ERROR HERE
stmt.setString(2, "- INTERVAL '24' HOUR");
我需要在数据库中存储“相同的格式”,这怎么可能?