mysql插入日期 vs oracle插入日期
今天做oracle日期插入的时候突然开始疑惑日期是如何插入的。
用框架久了,反而不自己做简单的工作了。比如插入。
通常,新建一个表对象,然后绑定数据,前端form提交,后端getModel后直接model.save()就完事了。
像insert这样的语句很少写了,除了备份sql的时候。
言归正传,
mysql插入日期不限制分隔符,不必明确格式,
至少测试了n次都成功了。
INSERT INTO person(name,birth) values('dd','2015-02-02');
INSERT INTO person(name,birth) values('dd','2015.02.02');
INSERT INTO person(name,birth) values('dd','2015/02/02');
INSERT INTO person(name,birth) values('dd','2015*02*02');
INSERT INTO person(name,birth) values('dd','2015^02^02');
INSERT INTO person(name,birth) values('dd','20150202');
也遇到奇葩的:
INSERT INTO person(name,birth) values('dd','2015-02-00');
居然成功了。
oracle插入日期
1.直接插入日期格式错误,todate函数可以:
--插入实例
insert into person(name, birth) values('ceshi',sysdate);
--错误的时间格式
insert into person(name,birth) values('hehe','2015-06-02 00:00:00');
--正确的插入日期
insert into person(name,birth) values('hehe',to_date('2015-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss'));
insert into person(name,birth) values('hehe',to_date('2015-01-01','yyyy-MM-dd'));
2.使用jdbc连接oracle时,java需使用java.sql类的时间类:
Person person = getModel(Person.class);
// person.set("birth", java.sql.Date.valueOf("2015-06-08"));
person.set("birth", java.sql.Timestamp.valueOf("2014-06-08 05:33:99"));
System.out.println(person);
person.save();
一点是只有日期格式的,使用java.sql.Date类;一个是带时间的,则使用java.sqlTimestamp类。
当然,也可以使用to_date():
可惜jfinal封装的model不可以使用,但是只要格式匹配,发现jfinal是可以直接存储,只要字段格式为:yyyy-MM-dd hh:mm:ss,例如2015-02-23 10:23:23 ,getmodel即可保存。
PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,to_date(?, 'yyyy-mm-dd hh24:mi:ss')");
String buydate="2004-06-08 05:33:99";
pstmt.setString(1, "Java编程思想");
pstmt.setString(2,buydate );
pstmt.execute();
附录oracle时间格式:
附:oracle日期格式参数含义说明
d:一周中的星期几
day:天的名字,使用空格填充到9个字符
dd:月中的第几天
ddd:年中的第几天
dy:天的简写名
iw: ISO标准的年中的第几周
iyyy:ISO标准的四位年份
yyyy:四位年份
yyy,yy,y:年份的最后三位,两位,一位
hh: 小时,按12小时计
hh24:小时,按24小时计
mi:分
ss:秒
mm:月
mon:月份的简写
month:月份的全名
w:该月的第几个星期
ww:年中的第几个星期
mysql插入日期 vs oracle插入日期的更多相关文章
- oracle获得日期与向oracle表中插入Date字符串原理解析
工作中要用到 Oracle 9i,经常要向其中的某张表插入事件发生的日期及时间.专门就 Oracle 的日期及时间显示方式和插入方式记一笔. 像 Number,varchar2 等内置的数据类型一样, ...
- 在mysql数据库中创建oracle scott用户的四个表及插入初始化数据
在mysql数据库中创建oracle scott用户的四个表及插入初始化数据 /* 功能:创建 scott 数据库中的 dept 表 */ create table dept( deptno int ...
- MySql和Oracle的日期转换到底有哪些不同?我们来比较一下
1.MySql和Oracle的日期转换 mysql中有2种日期格式DATE和TIME,oracle只有一种日期格式DATE. oracle> select to_char(sysdate,'yy ...
- mybatis foreach批量插入数据:Oracle与MySQL区别
mybatis foreach批量插入数据:Oracle与MySQL不同点: 主要不同点在于foreach标签内separator属性的设置问题: separator设置为","分 ...
- Oracle常用日期函数
常用的时间格式掩码如下:掩码元素 含义YYYY 四位数年份 (如:2005) yearYY 二位数年份(如 05) Q ...
- mysql基础---->mybatis的批量插入(一)
这里面记录一下使用mybatis处理mysql的批量插入的问题,测试有可能不准.只愿世间风景千般万般熙攘过后,字里行间,人我两忘,相对无言. mybatis的批量插入 我们的测试主体类是springb ...
- Java使用iBatis批量插入数据到Oracle数据库
Java使用iBatis批量插入数据到Oracle数据库 因为我们的数据跨库(mysql,oracle),单独取数据的话需要遍历好多遍,所以就想着先从mysql数据库中取出来的数据然后在oracle数 ...
- Java 批量插入数据(Oracle)
//批量添加20000条数据用时8秒. try { String url = "jdbc:oracle:thin:@IP:1521:orcl"; // orcl为数据库的SI ...
- Oracle中日期时间的操作比较和加减-入门基础(转)
Oracle关于时间/日期的操作 1.日期时间间隔操作 当前时间减去7分钟的时间 select sysdate,sysdate - interval '7' MINUTE from dual ...
随机推荐
- 【Bugly干货】Android性能优化典范之多线程篇
本文涉及的内容有:多线程并发的性能问题,介绍了 AsyncTask,HandlerThread,IntentService 与 ThreadPool 分别适合的使用场景以及各自的使用注意事项,这是一篇 ...
- 获取机器安装.NET版本的几种方式
当调查应用程序问题时,通常需要先确认目标机器所安装的 .NET Framework 的版本.可以通过如下方式来确认版本号: 通过控制面板安装程序查询 通过查询注册表获取版本信息 通过查看安装目录获取版 ...
- JavaScript使用DeviceOne开发实战(六)点墨真实案例
qq群里的yan用户开发的App,基本完工大家可以看看 安装二维码是 QQ群:365443130
- ng-template寄宿方式
如果你是一个angular的开发者的话,对于ng-html2js你应该 很熟悉.对于angular的指令,我们经常需要定义模板( directive template/templateUrl),你可以 ...
- Caliburn实现MVVM模式的编程
引言:什么是Caliburn ? 一个夜晚,一处教堂,人们忏悔结束后抬头看到一把宝剑插在一块石头上.石上字述“英格兰人,凡能从石头上拔出剑者,为王者!”,Caliburn就是英格兰人心中的石中剑,这把 ...
- DNS拾遗(一)
最近帮朋友注册域名配置主机,碰到一些DNS上的一些概念,惭愧于有一些东西已经忘记是啥意思,于是决定重新学习一下DNS方面的基本概念. 常用概念: TTL: TTL为Time to live的缩写,网络 ...
- 为什么一定要杀掉病毒?---帮一位老师解决MyDocument.exe优盘文件夹图标病毒问题
最近一位大学老师给我抱怨了一个她遇到的烦恼,一直在纠结,生活都被打乱了,事情大概是这样的: 她的优盘里辛辛苦苦弄好备课文件,放在了优盘里,可是每次上课时,就是找不到文件.有时好多文件都被修改了,非常烦 ...
- Android中pullToRefresh使用
pullToRefresh的导入 首先,点击new按钮 -> import Module 然后在 New Module界面选择已经在本地的含有源代码的pullToRefresh. 打开如下图所示 ...
- Java框架介绍-13个不容错过的框架项目
本文转自互联网,个人收藏所用. 下面,我们将一同分享各有趣且颇为实用的Java库,大家请任取所需.不用客气~ 1.极致精简的Java Bootique是一项用于构建无容器可运行Java应用的极简技术. ...
- MyBatis学习总结(六)——调用存储过程
一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_ ...