一个很小的问题(java date类型存oracle数据库)

2025-03-07 15:48:59
推荐回答(5个)
回答1:

修改答复:很抱歉,java.sql.Date()肯定是在什么地方用的,好像是Hibernate的时候可以直接设值,现在不用Hibernate就只能用to_date函数了 改成下面的吧 呵呵!!

import java.util.Date;导入util包下的Date类 用于后面to_date使用

SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd hh:mm:ss");
String nowdate = sdf.format(new Date());
System.out.println(nowdate);
sql= "insert into tablename(colname) values(to_date('"+nowdate+"','yy-MM-dd hh:mm:ss'))";

statement.execute(sql);这样肯定就好了

回答2:

实现思路:首先oracle数据库中的表必须是有字段类型是date类型,之后即可通过java方式进行插入,如插入当前时间:
oracle中当前时间用sysdate表示。所以可以通过如下方式插入:
string
userinfo="insert
into
userinfo
values("+"'"+userd+"',sysdate"+")";
//之后执行插库操作。
备注,实际在数据库中插入语句如下
sql:insert
into
userinfo
values('123',sysdate);

回答3:

你的这个语句:insert into tablename(colname) values('nowdate')
插入的实际上为 'nowdate'字符串,而不是nowdate变量的值
你可以:
sql = insert into tablename(colname) values(?)
然后再匹配值
statement.setString(0,nowdate);
然后执行
你试试吧

答复补充:
查一下你的数据库colname字段试不是char类型,(注意不能是DATE类型)。

回答4:

SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd");
String nowdate = "'"+sdf.format(new Date())+"'";
/*不好意思刚忘记了*/
String value = "char2date("+ nowdate + ",'yyyy-mm-dd')";
System.out.println(nowdate);
sql = insert into tablename(colname) values(value)

注意区别

回答5:

你直接用数据库时间不久可以了sysdate