日期:2014-05-16  浏览次数:20470 次

插入时间类型到oracle数据库,格式代码出现两次
//角色ID
String roleId = Utils.getUuid();
//用户ID
String userId = Utils.getUuid();
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//格式化时间
String tiStr = sdf.format(date);

String sql = "insert into ROLE(ROLEID,ROLENAME,DISORDER,DESCRIPTION,CTIME,MTIME,ISAUTO,ISSUPER)
values("+roleId+",'ROLE_$" + userId + "_DEFAULT',0,"+ "'ROLE_$" + userId + "_DEFAULT',
to_date('" + tiStr + "','yyyy-MM-dd HH24:mi:ss'),
to_date('" + tiStr + "','yyyy-MM-dd HH24:mi:ss'),1,0)";

也可以如下来设置默认时间
String sql = "insert into TEST_TABLE(KSSJ) values(sysdate)";

今天在用jdbc向数据库插入数据时,出现格式化字符串出现2次的错误,在网上搜索找到了答案,是别人写的。

如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;
原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
二、另要以24小时的形式显示出来要用HH24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份