将列转换为不同的格式

时间:2014-04-01 07:56:00

标签: sql oracle

我有一个名称为' DateInput'的列。有价值:如

04/01/2014
03/21/2014
03/20/2014
--mm/dd/yyyy

所以我想把它改成dd / mm / yy

01/04/2014
21/03/2014
20/03/2014

使用update语句吗? 我尝试使用我的代码:

update dondh
set DateInput = CONVERT(nvarchar(50),DateInput,103)

但我遇到了一个错误:

将nvarchar数据类型转换为日期时间数据类型会导致超出范围的值。

请帮助我解决这个问题。

2 个答案:

答案 0 :(得分:0)

这可行:

update dondh set DateInput = to_char(to_date(DateInput, 'mm/dd/yyyy'), 'dd/mm/yyyy');

但正如Jon所说,日期列应该是日期,而不是字符串......

答案 1 :(得分:-1)

Update table 
Set column = to_char(to_date(column,'mm/dd/yyyy'),'dd/mm/yy');

如果其Oracle和列数据类型为NOT date,则此方法应该有效。如果是日期,则可以跳过to_date函数。

干杯