如何将字符串转换为日期格式,然后将其转换回oracle中的日期

时间:2014-03-12 14:08:04

标签: oracle

我需要将格式为YYYY-MM-DD HH24:MI:SS)的字符串转换为日期格式(DD-MON-RR)。在此之后,我必须再次将其转换回字符串格式(MM/DD/YYYY)。

我使用下面的查询

完成了这项工作
SELECT to_char(to_date('string to be converted','YYYY-MM-DD HH24:MI:SS'),'MM/DD/YYYY') 
FROM table_name 

但是我收到了像

这样的错误
  

ORA-01841 :(完整)年份必须介于-4713和+9999之间,而不是0   01841. 00000 - “(完整)年份必须介于-4713和+9999之间,而不是0”   *原因:非法年份进入   *行动:在指定范围内输入年份

任何人都可以为此提出建议。

提前感谢你

1 个答案:

答案 0 :(得分:1)

检查您的表值,因为如果他们尊重您的格式,您的查询就可以了。例如,

SELECT to_char(to_date('2014-03-12 15:19:33','YYYY-MM-DD HH24:MI:SS'),'MM/DD/YYYY')
FROM dual

按预期提供03/12/2014

编辑:我无法重现您的错误(取而代之的是ORA-01861),所以我试着天真地运行

SELECT to_char(to_date('string to be converted','YYYY-MM-DD HH24:MI:SS'),'MM/DD/YYYY')
FROM dual

我确实得到了和你一样的错误ORA-01841:这是因为你试图转换'string to be converted',这不符合格式!您应该使用Oracle 字段,例如table_name.date_field