我继承了一个Oracle .dmp文件,我试图将其转换为CSV,以便我可以将其加载到MySQL中.
我正在使用的一般方法在这里描述.我遇到了一排问题.它的日期为5544-09-14,如下所示:
alter session set nls_date_format = 'dd-MON-yyyy';
select OID, REF, TRADING_DATE From LOAN WHERE REF = 'XXXX';
OID REF TRADING_DATE
--- -------------------- ------------
1523 XXXX 14-SEP-5544
Run Code Online (Sandbox Code Playgroud)
这是来自遗留系统的垃圾数据,它不验证输入日期.我想知道为什么我的PL/SQL函数导出这个值的数据扼流圈呢?
它使用TRADING_DATE值'0000-00-00T00:00:00'导出该行,我不知道为什么?
SELECT dump(TRADING_DATE) FROM LOAN WHERE REF = 'XXXX';
DUMP(TRADING_DATE)
--------------------------------------------------------------------------------
Typ=12 Len=7: 44,156,9,14,1,1,1
Run Code Online (Sandbox Code Playgroud)
和
SELECT to_char(trading_date, 'YYYYMMDDHH24MISS') FROM LOAN WHERE REF = 'XXXX';
TO_CHAR(TRADIN
--------------
00000000000000
Run Code Online (Sandbox Code Playgroud) 我nvarchar2
在数据库表中有一个列,它存储表示日期的字符串,例如'2016-12-05'.
例如,有'2012-19-34'
什么方法可以检测不包含有效日期字符串的行?
我想有一个语句设置任何无效的日期字符串null
.