String 转换成精确到秒的 sql.Date类型问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 13:16:41
我在页面中的text文本框中取得时间,是String类型的,如:“yyyy-mm-dd hh:mm:ss”,用这个值转换成sql.date型去sql数据库中查询,但在转换中sql说转换溢出sql.date位数。该怎么解决?怎么用String的值去查询呢?我是用两个从页面取得的具体时间查询时间间区的数据,需要比较精确的……

遇到这种问题换个思路,不要想着用java的时间类型与数据库的数据类型去相互对应。而是应该把字符串直接传入数据库里面,由数据库的方法来将字符串转为时间类型,这样才不会出现错误。
具体办法入下:比如页面文本框传来的时间是String time = "2008-12-13 23:32:33"(这个有可能需要你用java进行第二次格式转化方可变成这样)。然后传入查询语句,不过写where条件时应该加上where date = to_date(time,"yyyy-mm-dd hh24:mm:ss")然后就行了。

这样的话你在数据库建表的时候那个字段应该是Timestamp类型的,因为数据库里面date不能精确到时分秒