我需要将格式为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” *原因:非法年份进入 *行动:在指定范围内输入年份
任何人都可以为此提出建议。
提前感谢你
答案 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
。