我们先来假设这么一个场景,只要输入一个到月份的日期进入Oracle,比如2012年8月。但是输入进了Oracle,会发现
oracle自动补了个1号变成了2012-8-1,这并不是我们的本意。不要担心,这只是oracle的显示问题。当然我们需要在取出的时候进行处理。比如需要找到2012年8月份的数据,我们假设该表的日期字段为mydate字段。
错误做法where mydate = to_char("2012.8","yyyy.mm")这样只可以找出8.1号的数据
正确做法and trunc(mydate,"mm") = to_date("2012.8,"yyyy.mm")
将该字段阶段至月份,只比较到月份当然trunc也有显示的问题,现在是2012.8.6select trunc(sysdate,"mm") from dual;结果 2012-8-1自动补上了一个1 select trunc(sysdate,"yy) from dual;结果 2012-1-1更过分,自动补上了两个1
Oracle就是这样,喜欢帮你补1。当然这只是显示的问题,操作的时候只要截取你需要的即可。ORA-38760: This database instance failed to turn on flashback database 错误解决过程Oracle中数据导出成CVS,EXCEL相关资讯 Oracle基础
- Oracle基础介绍及常用相关SQL*PLUS (03月11日)
- Oracle 角色的两个特性和误区 (09/04/2012 05:56:16)
- Oracle rac11.2.0.3.0的vip在重启 (09/02/2012 10:00:39)
| - Oracle中删除用户遇到的问题 (09/08/2012 20:01:42)
- IMP-00008: unrecognized (09/02/2012 10:03:25)
- 在Oracle数据库上设置限制ip地址访 (09/02/2012 09:59:55)
|
本文评论 查看全部评论 (0)