簡體   English   中英

無法將列“some_field”更改為十進制數據類型

[英]Cannot alter column 'some_field' to be data type decimal

當我嘗試將一列TEXT數據類型更改為DECIMAL或反之亦然時,它不會。 但是,如果我先將其更改為VARCHAR ,則它可以更改為 DECIMAL。 我的問題是,為什么我們不能直接從 TEXT ALTER 到十進制或十進制到文本?

Create Table temp
( 
    id int,
    some_field text NULL
) 

ALTER TABLE temp ALTER COLUMN some_field DECIMAL(16,2) NULL;
--Cannot alter column 'some_field' to be data type decimal(16,2).

將其更改為 varchar:

ALTER TABLE temp ALTER COLUMN some_field VARCHAR NULL;
--Command(s) completed successfully.

ALTER TABLE temp ALTER COLUMN some_field DECIMAL(16,2) NULL;
--Command(s) completed successfully.

SQL Server 根本無法從文本轉換為十進制。 要查看它可以執行的隱式和顯式轉換, 請查看文檔中的圖表

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM