java存的值为Date类型
ORACLE中存的值为DATE类型
现在想根据日期来查一条记录,遇到了问题。
之前百度说直接比较就可以
于是写的语句是
SELECT * FROM "table" WHERE "oracle_date" = #{java_date}
但是发现行不通。
尝试打印
System.out.println(java_date);
为Fri May 08 02:33:58 CST 2020
而数据库的oracle_date查询后打印出来也为Fri May 08 02:33:58 CST 2020
想到在增加记录时用的语句为
insert into "table"("oracle_date") values(to_timestamp(to_char(#{java_date,jdbcType=TIMESTAMP},'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss.ff'))
于是将查询改为
SELECT * FROM "table" WHERE "oracle_date" = to_timestamp(to_char(#{java_date,jdbcType=TIMESTAMP},'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss.ff')
成功查出相应日期的记录