mysql插入日期 vs oracle插入日期
2015-09-02 13:59
573 查看
今天做oracle日期插入的时候突然开始疑惑日期是如何插入的。
用框架久了,反而不自己做简单的工作了。比如插入。
像insert这样的语句很少写了,除了备份sql的时候。
言归正传,
也遇到奇葩的:
居然成功了。
2.使用jdbc连接oracle时,java需使用java.sql类的时间类:
一点是只有日期格式的,使用java.sql.Date类;一个是带时间的,则使用java.sqlTimestamp类。
当然,也可以使用to_date():
可惜jfinal封装的model不可以使用,但是只要格式匹配,发现jfinal是可以直接存储,只要字段格式为:yyyy-MM-dd hh:mm:ss,例如2015-02-23 10:23:23 ,getmodel即可保存。
附录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:年中的第几个星期
相关文章推荐
- 详解Oracle数据库各类控制语句的使用
- 对比Oracle临时表和SQL Server临时表的不同点
- oracle for update和for update nowait的区别
- Oracle 多行转多列,列值转为列名
- oracle与mysql 数据库sql 分页查询
- oracle与sqlserver处理判断字段是否为空
- Oracle timestamp
- 如何实现只授予用户查看存储过程定义的权限
- Oracle分页函数(存储过程)
- PL/SQL与SQL(Oracle)Case语句
- Oracle数据库远程连接的方法
- Oracle 11g sys,system,scott密码重新设置方法
- 对比Oracle临时表和SQL Server临时表的不同点
- 详解Oracle数据库各类控制语句的使用
- oracle数据库导入导出imp/exp
- Win8 安装64位Oracle11g R2
- oracle闪回(flashback)
- Oracle学习笔记20150901脏读不可重复读以及幻读概念理解
- Oracle 递归查询
- Oracle数据库修改字段长度