【问题标题】:transferring data from table to another with column's different format使用列的不同格式将数据从表传输到另一个表
【发布时间】: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


【解决方案1】:
 create table adminsion (Admission_Date varchar(20))
 insert into adminsion values('12/23/2012')

 create table adminsion_new (Admission_Date_new  datetime)



 insert into adminsion_new 
 select cast(Admission_Date as datetime)  from adminsion

【讨论】:

  • 从字符串转换日期和/或时间时转换失败。
猜你喜欢
  • 2021-12-27
  • 1970-01-01
  • 1970-01-01
  • 2017-06-01
  • 2012-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多