java向oracle数据库中存一个date类型的值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java向oracle数据库中存一个date类型的值相关的知识,希望对你有一定的参考价值。
求例子:
就是我在oracle数据库中有一个字段是Date类型
现在我想写一个SQL语句
insert into 的存一个时间
写一个例子就行!
大概yyyy-mm-dd格式的就行
oracle中当前时间用sysdate表示。所以可以通过如下方式插入:
String userinfo="insert into userinfo VALUES("+"'"+userD+"',sysdate"+")";
//之后执行插库操作。
备注,实际在数据库中插入语句如下
sql:insert into userinfo values('123',sysdate); 参考技术B 你在java端,将?参数绑定为Date就可以.如果非要在数据库转换就
insert into aa (id,tdate) values(1,to_date(?,'yyyy-mm-dd'))
问号的位置放你自己的参数追问
请问这个to_date方法是什么类带的,我直接写的话显示没有啊
追答to_date方法是oracle自带的...不是java的
追问那是需要导入什么包吗?
追答....to_date是oracle中的方法,oracle数据库的方法..和sql语句中的max.min接近.你说需要导入包吗?导入包不是java中需要的吗?
追问但是我在java里编写SQL语句时,"','"+to_date(getDate(),"yyyy-MM-dd") +"')";
to_date下myeclipse显示说有错,请问该怎么写呢?
你具体错误是啥也得告诉我下啊,你现在不是数据库问题,是你的字符串拼接问题,或者参数类型不对的问题.
你下排查2个问题
1.getDate()返回值是什么
2.你的字符串拼接是不是不对.我分析这个面大,因为看你现在符号很混乱
time values (to_date('输入','yyy-mm-dd')) 参考技术D 不知道你这个时间是几位的。以8位为例
insert into table set 列名=('20120416');
date类型的就是这样的啊 不支持你那种格式。追问
那如果我把20120416换为一个方法,比如:
public String getDate()
Timestamp d = new Timestamp(System.currentTimeMillis());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//定义格式,不显示毫秒
String str = df.format(d);
//System.out.println(str);
return str;
然后insert into table set 列名=(“ ‘ ”+getDate()+“’”);
这样呢?
还是 写yyyymmdd
可以
oracle中如何向Data数据类型的字段添加数据
oracle向date类型字段中加数据,需要将字符串转成date类型,再添加。
1、创建表:
(id int,
begin_time date);
2、添加数据:
commit;
其中to_date(\'2015-01-01\',\'yyyy-mm-dd\')就是将2015-01-01这个字符串通过to_date函数转换成date类型的过程。
参考技术A 你的方法可行,但还是建议把时分秒也带上,这样代码处理或者再次查出的时候可以通过SQL去决定要不要查出时分秒的,不然没数据支撑,一旦需求变更,就只能抓瞎了。。'2011-04-06'如果是参数,那还是建议再后面通过代码拼出业务合理的时分秒,即便 00:00:00也不算冗余本回答被提问者采纳 参考技术B Data数据类型??追问是Date数据类型,,,,,我使用(to_date('2011-04-06','yyyy-mm-dd'))这种办法解决问题了!!! thank you 指点
以上是关于java向oracle数据库中存一个date类型的值的主要内容,如果未能解决你的问题,请参考以下文章
使用NamedParameterJdbcTemplate向oracle插入枚举类型数据