[英]How to Alter all specific datatype to another datatype in whole table
我有一個表table_name
包含50個十進制( table_name
)列,我想將其數據類型更改為十進制(18,6)
我在嘗試
ALTER TABLE [table_name] ALTER COLUMN [column_name] [data_type]
但是為此,我必須查詢50次。
如何在單個查詢中完成
您可以通過執行動態sql查詢輕松地做到這一點。
詢問
declare @sql as varchar(max);
select @sql = stuff((
select 'alter table [your_table_name]
alter column [' + [column_name] + '] decimal(18, 6);'
from information_schema.columns
where [table_name] = 'your_table_name'
and [data_type] = 'decimal'
for xml path('')
)
, 1, 0, ''
);
exec(@sql);
您必須添加所有用逗號分隔的colunm,即
ALTER TABLE [table_name] ALTER COLUMN [column_name1] [data_type],[column_name2] [data_type],依此類推;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.