CLOB字段的日期格式的SQL查询不起作用

时间:2012-12-20 05:16:30

标签: sql oracle

您好我使用以下查询从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列(NOT CLOB FIELDS),那么它执行正常。

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

请让我解决。

1 个答案:

答案 0 :(得分:0)

您不应该在varchar2上运行to_char

to_char函数获取日期(或数字)作为参数并将其转换为varchar2。
如果你在varchar2上使用它,那么oracle会根据NLS_DATE_FORMAT

隐式地将字符串转换为日期

所以你可能会做this:

之类的事情