【发布时间】:2014-12-17 12:26:39
【问题描述】:
我有一个表包含一个名为 Admission_Date 的列,但该列的类型是 VARCHAR
我想将此列转换为类型(日期或日期时间),但无法这样做,因为我需要删除表并重新创建它。
所以我想将此列移动到另一个表,但新列的类型将是日期或日期时间。我试过这个:
insert into TableName (columnName)
select top 10 cast(columnName AS date) from TableName
order by TableName
它不起作用;我该怎么办?
【问题讨论】:
-
为什么它不起作用?你有什么错误?
ColumnName数据会是什么样子?? -
您不能将
DATETIME数据放入DATE或相反。您需要在从中选择的列和尝试插入的列上具有相同的数据类型。 -
您示例中的表名和列没有意义。您能否重写它以使其更清楚您认为的来源和目的地是什么?
-
@RaduGheorghiu - 不,您可以直接将
date插入datetime列,您可以将datetime转换为date,它可以插入Date列 -
@NoDisplayName 是的,转换会起作用,但我没说不会。
标签: sql sql-server