Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Altere dinamicamente o tipo de dados da coluna de nvarchar para decimal se uma condição for satisfeita sql


Você pode usar a visualização de catálogo sys.columns para recuperar todas as colunas desejadas de sua tabela e construir um ALTER declaração como uma string:
SELECT 'ALTER TABLE tb1 ALTER COLUMN [' + name + '] Decimal(18,2) NULL'
FROM sys.columns
WHERE [object_id] = OBJECT_ID('tb1')
AND name LIKE 'ROE%'

De lá, você pode pegar as consultas e executá-las manualmente ou abrir um CUSROR e itere cada instrução para executá-las com um EXEC ligar.