當數據庫表有SQL記錄時,我們可以更改屬性的數據類型嗎?當數據庫表已經填滿記錄時,更改數據庫表中的屬性數據類型
我正在使用Microsoft Management Studio 2008.我得到的錯誤是: **將數據類型nvarchar轉換爲float時出錯。 **
當數據庫表有SQL記錄時,我們可以更改屬性的數據類型嗎?當數據庫表已經填滿記錄時,更改數據庫表中的屬性數據類型
我正在使用Microsoft Management Studio 2008.我得到的錯誤是: **將數據類型nvarchar轉換爲float時出錯。 **
簡而言之:這是可能與alter column
命令僅當改變的數據類型與新修改的一個兼容。另外,建議與交易完成。
例如:您可以使用下面的腳本將列從varchar(50)更改爲nvarchar(200)。
alter table TableName
alter column ColumnName nvarchar(200)
編輯:關於你張貼的錯誤而改變列類型。
**將數據類型nvarchar轉換爲float時出錯。 **
一種方法是創建一個新的列,並轉換都好(轉換和兼容)記錄到新列。之後,您可能想要清理不轉換的壞記錄,刪除舊列並將新添加和填充的列重新命名爲原始名稱。 重要提示:首先使用測試環境進行所有這些操作。通常情況下,玩產品表會變成一個不好的習慣來解決問題。
參考尋找類似SE的帖子更多的討論:
這是不可能的。錯誤消息是,**將數據類型nvarchar轉換爲float時出錯。** –
再次仔細閱讀我的答案,我說如果數據類型兼容。當然,如果你嘗試改變double類型變成int,它將不起作用。 –
感謝兄弟.... –
顯然,沒有默認的轉換到新的數據類型。一種解決方案可能是創建具有所需類型的第二列,並編寫您自己的轉換函數。完成後,刪除第一列並用相同的名稱重命名第二列。
需要考慮的事項:桌子有多大。然後,您使用alter table
語法。我們不知道您想要更改哪種數據類型,因此僅適用於例如
ALTER柱:
Alter Table [yourTable] Alter column [yourColumn] varchar(15)
的支撐柱,考慮的想法:Change column types in a huge table,How to change column datatype in SQL database without losing data
更改表列數據類型?如果是這樣的數據類型? – bonCodigo