关于oracle date类型值0000-0-0的分析
目錄
1簡介... 1
2 準備... 1
2.1 環(huán)境說明... 1
3 安裝... 2
4 配置... 2
5 使用... 2
5.1 驗證實驗... 2
5.2 問題分析... 3
6 延展... 3
7 總結(jié)... 3
? ? ? ? ? ? ? ? ? ? ? ? ? ? 關于oracle date類型值0000-0-0的分析
1簡介
此文是對oracle里date類型且值是0000-0-0的數(shù)據(jù)導入到HDFS里為7967-07-31 00:00:00.0的分析。
2?準備
2.1?環(huán)境說明
oracle版本為11gR2,同理其它版本效果類似。
--查看數(shù)據(jù)庫版本 SELECT * FROM v$version;| BANNER |
| Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production |
| PL/SQL Release 11.2.0.4.0 - Production |
| "CORE? 11.2.0.4.0??? Production" |
| TNS for Linux: Version 11.2.0.4.0 - Production |
| NLSRTL Version 11.2.0.4.0 - Production |
| PARAMETER | VALUE |
| NLS_CHARACTERSET | ZHS16GBK |
3 安裝
無.
4?配置
無
5?使用
5.1?驗證實驗
1) oracle里創(chuàng)建一個shenl表并插入時間格式的數(shù)據(jù)為0000-0-0
CREATE TABLE shenl(a varchar2(3),b int,c date,d date); INSERT INTO shenl VALUES('e',22, to_date('0001-01-01','YYYY-MM-DD')-360,to_date('1111-11-11','YYYY-MM-DD')); INSERT INTO shenl VALUES('h',44, to_date('2014-12-06','YYYY-MM-DD'),to_date('2014-12-06','YYYY-MM-DD')); -- 查看數(shù)據(jù) SELECT * FROM shenl;| A | B | C | D |
| e | 22 | 0000/0/0 | 1111/11/11 |
| h | 44 | 2014/12/6 | 2014/12/6 |
???????
SELECT dump(c,10),length(c),c,to_char(c,'yyyy-mm-dd hh24:mi:ss.SSSS'),A.* FROM shenl A WHERE C IS NOT NULL AND A IN ('e','h') ORDER BY A;2) 以第一條 dump(c,10)為例 它的公式應該是 (-21+100)*100 + (-33+100)=7967
第三位 第四位是月和日。分別是 7 31 所以在SQOOP轉(zhuǎn)移數(shù)據(jù)到HDFS里顯示的結(jié)果見下:
3) ?以第二條 dump(c,10)為例 它的公式應該是 (120-100)*100 + (-100+114)=2014
同樣第三位 第四位是月和日。分別是 12 6 所以顯示的 是2014-12-06
5.2?問題分析
無
6?延展
無
7?總結(jié)
暫無.有問題可以咨詢?nèi)缦?#xff1a;
總結(jié)
以上是生活随笔為你收集整理的关于oracle date类型值0000-0-0的分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 东风商用车24小时服务热线?
- 下一篇: 从从长春东方广场坐地铁2号线路车去百花园