2013-08-02 68 views
3

我已assisgned與starnge assigment,我需要將40個表列從datetime2轉換爲datetime。轉換表colum從datetime2 datetime

這是日期時間格式我有我的database.2007-11-12什麼00:00:00

它包含超過90,000條記錄

請協助

+2

格式是無關緊要的類型。日期是數字,而不是字符串。 –

回答

5
  • 你必須檢查是否有價值觀< 1753年1月1日(因爲它們與datetime兼容)。例如

SELECT * FROM MyTable的WHERE MyColumn < '1753年1月1日'

  • 你必須決定如何處理這些值,例如(在這裏我改變一切值< 1753年1月1日到1753年1月1日):

UPDATE SET MyTable的MyColumn = '1753年1月1日' WHERE MyColumn < '1753年1月1日'

  • 修改您的列

ALTER TABLE MyTable的ALTER COLUMN MyColumn DATETIME

2

,這只是rediculos,datetime2更精確,它具有更大的日期範圍並佔用相同數量的字節(8)。

這裏是MSSQL代碼:

alter table tablename alter column colname datetime 
+0

如果此方法由於某種原因而不起作用,則可以始終添加一列,從舊列更新,刪除舊列並重命名新列。 –

+0

@DanBracuk舊的列是datetime2,這將工作,雖然它可能會失去一些精度 –

+0

有可能是不可能的日期:值<1753年1月1日(日期時間的最短日期) – xanatos