2016-11-15 63 views
-1
update employee set JoiningDate=Cast(DateofJoining as date); 

我复制joiningDate列数据为Dateofjoining列...我想从joiningdate列中的所有行的数据复制到Dateofjoining列 joiningdate是varcharchar和加入的日期是日期如何列数据复制到新的列在同一表

错误是:从字符串变换日期和/或时间时

转换失败。

+1

好像列中有无效的日期值。 – jarlh

+2

您正在使用哪些DBMS? –

回答

1

您可能有包含不能用作DATE格式的字符串格式的行。先删除这些条目,然后再试

+0

alter table employee alter column DateofJoining date; – babi

+0

alter table employee alter column DateofJoining date; iam尝试在alter table但没有用,错误是::转换日期和/或时间从字符串转换失败。 该声明已被终止。 – babi

+0

是的,你再次问这个问题。你试过我说的吗? –

0

我等着你的DBMS,但是:

你可以这样做流量:

  • 添加一个新列DateofJoining2与日期时间
  • 写一个更新脚本(所以你可以管理你的旧数据到新列)
  • 删除旧列(如果你的第2步是好的)
  • 重命名该列的旧名DateofJoining

如果您编写您的DBMS,我可以编写确切的DDL和DML脚本。

0
ALTER TABLE [dbo].[Your_table] ADD New_Column Date UPDATE your_table SET New_Column = CAST(Old_Column as Date) ALTER TABLE Your_table DROP COLUMN Old_Column 
+0

如何将column1值复制到一个表中的新column2中 – babi

+0

将旧列值更新为新列。我在上面提到的查询中提到 – Mansoor

+0

更新员工集合JoiningDate = cast(DateofJoining作为日期) – babi

相关问题