java写SQL语句向oracle数据库中存时间字段
如此:Stringsql="insertintoT_CT_REF_PLAN_LINK(PLAN_LINK_ID,TIMES)values(3,to_date('"+get...
如此:
String sql="insert into T_CT_REF_PLAN_LINK(PLAN_LINK_ID,TIMES) values(3,to_date('"+getDate()+"','yyyy-MM-dd'))";
Statement stmt = con.createStatement();
stmt.execute(sql);
这是部分代码(主要的)
public static String getDate(){
Timestamp d = new Timestamp(System.currentTimeMillis());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//定义格式,不显示毫秒
String str = df.format(d);
return str;
}
主要就是,但我输入上面这种yyyy-MM-dd的getDate()时,是可以成功的
但是当我使用这种yyyy-MM-dd-HH-mm-ss或者是这种yyyy-MM-dd HH-mm-ss
getDate()的返回值时;
报错:ORA-01830: date format picture ends before converting entire input string
就是说不支持这种格式是吗?
那么oracle数据库的Date字段支持到什么输入呢?
或者说我想把时分秒也存进去,该怎么办 展开
String sql="insert into T_CT_REF_PLAN_LINK(PLAN_LINK_ID,TIMES) values(3,to_date('"+getDate()+"','yyyy-MM-dd'))";
Statement stmt = con.createStatement();
stmt.execute(sql);
这是部分代码(主要的)
public static String getDate(){
Timestamp d = new Timestamp(System.currentTimeMillis());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//定义格式,不显示毫秒
String str = df.format(d);
return str;
}
主要就是,但我输入上面这种yyyy-MM-dd的getDate()时,是可以成功的
但是当我使用这种yyyy-MM-dd-HH-mm-ss或者是这种yyyy-MM-dd HH-mm-ss
getDate()的返回值时;
报错:ORA-01830: date format picture ends before converting entire input string
就是说不支持这种格式是吗?
那么oracle数据库的Date字段支持到什么输入呢?
或者说我想把时分秒也存进去,该怎么办 展开
展开全部
oracle中数据库应该是timestamp格式的吧...
直接用这个:
String time = "2011-11-11";
Timestamp CreateDate = Timestamp.valueOf(time);
然后存进去就可以了
直接用这个:
String time = "2011-11-11";
Timestamp CreateDate = Timestamp.valueOf(time);
然后存进去就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. 在java中将时间格式化为 yyyy-MM-dd HH-mm-ss
2. 存储是用to_date(xxx,'yyyy-mm-dd hh24:mi:ss')
2. 存储是用to_date(xxx,'yyyy-mm-dd hh24:mi:ss')
追问
还是不行啊
这是我改的:String sql="insert into T_CT_REF_PLAN_LINK(PLAN_LINK_ID,TIMES) values(7,to_date('"+getDate()+"','yyyy-MM-dd hh24:mi:ss'))";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH-mi-ss");
但是执行的时候显示:Exception in thread "main" java.lang.IllegalArgumentException: Illegal pattern character 'i'
追答
java里面别呀,用 yyyy-MM-dd HH-mm-ss
注意有3个区别,
大小写(java里的有大小写,具体是不是这个格式查一下就知道)
hh24(oracle里是hh24,java里肯定不是)
mi(oracle‘里是mi,java里肯定不是)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接应用 sysdate
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
yyyy-MM-dd HH-mi-ss
mi
mi
追问
还是不行啊
这是我改的:String sql="insert into T_CT_REF_PLAN_LINK(PLAN_LINK_ID,TIMES) values(7,to_date('"+getDate()+"','yyyy-MM-dd hh24:mi:ss'))";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH-mi-ss");
但是执行的时候显示:Exception in thread "main" java.lang.IllegalArgumentException: Illegal pattern character 'i'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询