Mm/dd/yyyy 转换 yyyy mm dd 在 Oracle 中

标签: sql Oracle
发布时间: 2017/4/15 0:01:47
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有的日期列是在 varchar2 和我想要转换在这些值YYYY-MM-DD

DATE
7/26/2013
7/29/2013
8/1/2013 
8/4/2013 
7/28/2013
7/31/2013
8/3/2013 
7/30/2013
8/5/2013 
7/25/2013
8/2/2013 
8/6/2013 
7/27/2013

解决方法 1:

你应该永远不会存储在日期 VARCHAR

所以现在以不同的方式显示,您需要首先将该字符串转换为日期,然后返回一个字符串

如果你是肯定的是,所有的"日期"做具有正确的 (和相同的) 的格式,则应该执行以下操作︰

select to_char(to_date(date, 'mm/dd/yyyy'), 'yyyy-mm-dd')
from the_table;

但我不会感到惊讶,如果,给您一个错误,因为一个或多个行的格式不同的日期。东西,就不可能发生了您定义的列的类型是 DATE 从一开始。

你要真,真的考虑更改该列是一个真正的 DATE 列。

顺便说一句︰ DATE 是一个可怕的名字,对于这样的列。它是一个保留的字和它只是不会告诉你任何关于什么实际存储在该列中 ("开始日期"、"结束日期"、"出生日期"、"截止日期",...)

赞助商