oracle日期格式转换to_char(d_date,'yyyymmdd')='000000'了

王小费 发布于 2013/12/18 11:30
阅读 2K+
收藏 0
为什么oracle日期格式转换to_char(d_date,'yyyymmdd')='000000'了?版本:oracle 11g,如果d_date有时分秒,可以正常转换,没有(20131213)就不能,这个怎么解决?
加载中
0
Liuzh_533
Liuzh_533
mm应该改为MM
0
王小费
王小费

引用来自“abel533”的答案

mm应该改为MM
改了也不行。。。
0
backtract
backtract
你的 d_date 是什么样子的 发来看看
王小费
王小费
数据库升级过,由10g-11g
0
王小费
王小费

引用来自“backtract”的答案

你的 d_date 是什么样子的 发来看看
d_date :类型date,2013-9-14,就这样,后面没有时分秒,to_char(d_date,'yyyymmdd')变成了00000000,还有就是如果在后面加上时分秒就可以正常转(时分秒随便多少)。
0
excepiton
excepiton
那如果 to_char(d_date,'yyyymmddhh24miss')是否就全部0呢?
王小费
王小费
也不行,现在有个问题,就是这个表里面有两万多条数据,并不是所有的都是这样,只有十几条是这样的,to_char后变成了0.如果是数据格式有问题,那么应该在插入的时候就会报错。
0
backtract
backtract

引用来自“tips”的答案

引用来自“backtract”的答案

你的 d_date 是什么样子的 发来看看
d_date :类型date,2013-9-14,就这样,后面没有时分秒,to_char(d_date,'yyyymmdd')变成了00000000,还有就是如果在后面加上时分秒就可以正常转(时分秒随便多少)。
我在我机器的11g下执行没问题。不行就替换‘-’字符串吧
王小费
王小费
只有一部分数据有问题,十几条的样子,如果数据类型格式有问题,那么插入应该也会有问题,难道这个是oracle的bug?
0
excepiton
王小费
王小费
这个不太现实,如果有N个表,就要改N个表了,最好是要改过oracle参数什么的
返回顶部
顶部