![](/img/trans.png)
[英]How to optimize SELECT some_field, max(primary_key) FROM table GROUP BY 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.