-1

您好,我正在使用以下查询从 ORACLE Toad 的 CLOB 字段中获取格式为“DD-MM-YYYY”的日期。

 Select ID, NVL(TO_CHAR(xmltype(XML_RAW).extract('//ROWSET//ROW//MJR_V//MJR_V_ROW//EARLIEST_ACCEPT_DATE/text()').getStringVal(), 'DD-MM-YYYY'),'') 
 AS Dateformat from table1 where ID = 102

它抛出错误:

ORA:01722: Invalid number

但是如果我使用上面的查询直接 DB 列(不是 CLOB FIELDS),那么它执行得很好。

 Select ID, NVL(TO_CHAR(Start_Date, 'DD-MM-YYYY'),'') 
 AS Dateformat from table1 where   ID = 102

请让我解决。

4

1 回答 1

0

你不应该to_char在 varchar2 上运行

to_char函数获取日期(或数字)作为参数并将其转换为 varchar2。
如果您在 varchar2 上使用它,则 oracle 会根据以下条件将字符串隐式转换为日期NLS_DATE_FORMAT

所以你可能会做这样的事情

于 2012-12-20T06:51:17.867 回答