2017-04-27 22 views
0

我想有條件地將sql中的列類型更改爲Boolean,如果它是mysql中的Integer。我知道更新的方式,如果列名是給定的,但由於列數龐大,這是不可行的。基本上在下面有條件地更改sql的列類型?

Alter table TableName Alter Column ColumnName nvarchar(100) 

的例子我想申請conition到ColumnName

+0

編寫代碼以生成alter語句? –

回答

1

列表您可以生成這樣的命令(但要注意包含在現有列中的值):

SELECT CONCAT('ALTER TABLE ',TABLE_NAME,' ALTER COLUMN ', COLUMN_NAME,' bit;') AS cmd FROM INFORMATION_SCHEMA.columns 
WHERE 1=1 
AND data_type = 'int' 
AND TABLE_NAME = 'FILES';