我有一个需要转换为字符的日期列。但是这样做它会检索'00 -000-00',即使实际数据具有日期值。另外,当我再次将其转换为日期时,它会显示第二天的值。在Oracle数据库中,TO_CHAR(日期)给出结果'00 -000-00'
例如:
Value: 25-MAR-17 (Date Datatype)
TO_CHAR(Value, 'DD-MON-YY'): '00-000-00'
TO_DATE(Value, 'DD-MON-YY'): '26-MAR-17'
而且这不会发生的所有的值,但只有最近的值。
这是目前在该日期列中的值转储:
select OrderNumber, LoanDate, Dump(LoanDate) from OrderDetail
where OrderNumber=283402
OrderNumber| LoanDate | Dump(LoanDate)
283402 | 26-MAR-17 | Typ=12 Len=7: 120,117,3,27,0,15,40
能否请您给我解释一下为什么这些奇怪的事情发生,如何处理?
这是相当困难对于我们理解你的问题,因为没有办法,应与你给出的数据发生。请提供可复制的测试用例。也就是说,带有示例数据的虚拟表以及您正在运行的查询会显示此行为。减少细节到必需品。您可能会发现这个练习可以让您了解并帮助您在没有我们帮助的情况下解决您的问题。 – APC
日期到日期转换只是为了检查它的行为。 –
请提供必要的DDL和DML语句以复制问题的[MCVE]。请同时尝试'SELECT DUMP(your_date_column)FROM your_table'并发布其值。 – MT0