查看: 5821|回复: 26

[PL/SQL] 【讨论】ORALCE 时间bug?

[复制链接]
论坛徽章:
8
SQL大赛参与纪念
日期:2011-04-13 12:08:172010广州亚运会纪念徽章:网球
日期:2011-04-15 12:06:10双黄蛋
日期:2011-06-18 15:25:27ITPUB官方微博粉丝徽章
日期:2011-06-29 13:52:50ITPUB十周年纪念徽章
日期:2011-09-27 16:34:132012新春纪念徽章
日期:2012-01-04 11:57:56优秀写手
日期:2014-10-17 06:00:14
跳转到指定楼层
1#
发表于 2014-9-30 11:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、查询日期,用to_char转换
select C.CREATEDATE,TO_CHAR(C.CREATEDATE,'YYYY/MM/DD HH24:MI:SS')
from 表 c
where id=22156542

CREATEDATE                                    TO_CHAR(C.CREATEDATE,'YYYY/MM/DDHH24:MI:SS')
2013/7/1 0:47:47.808                             0000/00/00 00:00:00


2、转换两次报错:
select C.CREATEDATE,to_date(TO_CHAR(C.CREATEDATE))
from 表 c
where id=22156542



ORA-01847 day of month must be between 1 and last day of month

3、日期做计算
select C.CREATEDATE,to_date(TO_CHAR(C.CREATEDATE)),C.CREATEDATE+1,TO_CHAR(C.CREATEDATE+1,'YYYY/MM/DD HH24:MI:SS')
from 表 c
where id=22156542

CREATEDATE                       TO_CHAR(C.CREATEDATE,'YYYY/MM/DDHH24:MI:SS')        C.CREATEDATE+1                       TO_CHAR(C.CREATEDATE+1,'YYYY/MM/DDHH24:MI:SS')
2013/7/1 0:47:47.808               0000/00/00 00:00:00                                                        2013/7/2 0:00:09.000                       0000/00/00 00:00:00



求救,怎么数据变成这样了
或许是我的问题没描述清楚,
这个主要的问题是,一个表的CREATEDATE字段是date类型,但是用to_char转换后显示出来的全是0000/00/00 00:00:00,而且只有这一个表的部分数据是这样,其他数据都没问题。


论坛徽章:
8
SQL大赛参与纪念
日期:2011-04-13 12:08:172010广州亚运会纪念徽章:网球
日期:2011-04-15 12:06:10双黄蛋
日期:2011-06-18 15:25:27ITPUB官方微博粉丝徽章
日期:2011-06-29 13:52:50ITPUB十周年纪念徽章
日期:2011-09-27 16:34:132012新春纪念徽章
日期:2012-01-04 11:57:56优秀写手
日期:2014-10-17 06:00:14
2#
 楼主| 发表于 2014-9-30 11:43 | 只看该作者
版主求解

使用道具 举报

回复
论坛徽章:
8
SQL大赛参与纪念
日期:2011-04-13 12:08:172010广州亚运会纪念徽章:网球
日期:2011-04-15 12:06:10双黄蛋
日期:2011-06-18 15:25:27ITPUB官方微博粉丝徽章
日期:2011-06-29 13:52:50ITPUB十周年纪念徽章
日期:2011-09-27 16:34:132012新春纪念徽章
日期:2012-01-04 11:57:56优秀写手
日期:2014-10-17 06:00:14
3#
 楼主| 发表于 2014-9-30 11:50 | 只看该作者
表中只有一部分数据是这样,其他的数据都好好的,字段类型就是DATE

使用道具 举报

回复
论坛徽章:
8
SQL大赛参与纪念
日期:2011-04-13 12:08:172010广州亚运会纪念徽章:网球
日期:2011-04-15 12:06:10双黄蛋
日期:2011-06-18 15:25:27ITPUB官方微博粉丝徽章
日期:2011-06-29 13:52:50ITPUB十周年纪念徽章
日期:2011-09-27 16:34:132012新春纪念徽章
日期:2012-01-04 11:57:56优秀写手
日期:2014-10-17 06:00:14
4#
 楼主| 发表于 2014-9-30 12:00 | 只看该作者
那个时间转换后变成0000/00/00 00:00:00  

使用道具 举报

回复
论坛徽章:
1
喜羊羊
日期:2015-03-09 19:37:15
5#
发表于 2014-9-30 13:00 | 只看该作者
to_date(TO_CHAR(C.CREATEDATE)   这是要干什么,吃饱了撑着,to_date(char,字符串日期的形式)  楼主先了解下to_date函数吧。

使用道具 举报

回复
论坛徽章:
8
SQL大赛参与纪念
日期:2011-04-13 12:08:172010广州亚运会纪念徽章:网球
日期:2011-04-15 12:06:10双黄蛋
日期:2011-06-18 15:25:27ITPUB官方微博粉丝徽章
日期:2011-06-29 13:52:50ITPUB十周年纪念徽章
日期:2011-09-27 16:34:132012新春纪念徽章
日期:2012-01-04 11:57:56优秀写手
日期:2014-10-17 06:00:14
6#
 楼主| 发表于 2014-9-30 13:21 | 只看该作者
tt_out 发表于 2014-9-30 13:00
to_date(TO_CHAR(C.CREATEDATE)   这是要干什么,吃饱了撑着,to_date(char,字符串日期的形式)  楼主先了解 ...

等你做够三年Oracle再来喷人,能够遇到这种bug的,绝不是你这种浮躁的新手

使用道具 举报

回复
论坛徽章:
1
喜羊羊
日期:2015-03-09 19:37:15
7#
发表于 2014-9-30 13:28 | 只看该作者
Nalternative 发表于 2014-9-30 13:21
等你做够三年Oracle再来喷人,能够遇到这种bug的,绝不是你这种浮躁的新手

楼主三年oracle好NB,说实话楼主你对to_date函数有多少理解,对sql基础理解多少,为什么要先把日期转字符再转日期,这sql些的就有问题

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
8#
发表于 2014-9-30 13:30 来自手机 | 只看该作者
一年的路过,默默回帖,不敢说话

使用道具 举报

回复
论坛徽章:
8
SQL大赛参与纪念
日期:2011-04-13 12:08:172010广州亚运会纪念徽章:网球
日期:2011-04-15 12:06:10双黄蛋
日期:2011-06-18 15:25:27ITPUB官方微博粉丝徽章
日期:2011-06-29 13:52:50ITPUB十周年纪念徽章
日期:2011-09-27 16:34:132012新春纪念徽章
日期:2012-01-04 11:57:56优秀写手
日期:2014-10-17 06:00:14
9#
 楼主| 发表于 2014-9-30 13:41 | 只看该作者
tt_out 发表于 2014-9-30 13:28
楼主三年oracle好NB,说实话楼主你对to_date函数有多少理解,对sql基础理解多少,为什么要先把日期转字符 ...

那只是个测试,如果正常的日期字段,先to_char,在to_date还是原来的样子么
可是我这个数据就是不对,
select to_date(to_char(sysdate)) from dual可以执行吧,
但是我这个是执行不了的,也就是说这个数据,Oracle已经存乱了。

这个帖子是解决问题的,不是来喷的,我错了,你不知道就别在这堆楼了。

使用道具 举报

回复
求职 : 数据库管理员
论坛徽章:
11
ITPUB社区千里马徽章
日期:2013-06-09 10:15:34懒羊羊
日期:2015-03-04 14:52:11懒羊羊
日期:2015-02-10 13:36:05马上有对象
日期:2015-02-02 12:29:02红宝石
日期:2015-01-19 09:44:10马上有车
日期:2014-11-11 14:16:07马上有车
日期:2014-03-27 15:59:39优秀写手
日期:2014-03-12 06:00:13马上有钱
日期:2014-02-18 16:43:092014年新春福章
日期:2014-02-18 16:43:09
10#
发表于 2014-9-30 13:54 | 只看该作者
两年的路过,留个名。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表