Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Modifica dinamicamente il tipo di dati della colonna da nvarchar a decimal se una condizione è soddisfatta sql

Puoi utilizzare la vista catalogo sys.columns per recuperare tutte le colonne desiderate dalla tabella e costruire un ALTER istruzione come stringa:

SELECT 'ALTER TABLE tb1 ALTER COLUMN [' + name + '] Decimal(18,2) NULL'
FROM sys.columns
WHERE [object_id] = OBJECT_ID('tb1')
AND name LIKE 'ROE%'

Da lì puoi prendere le query ed eseguirle manualmente o aprire un CUSROR e scorrere ogni istruzione per eseguirli con un EXEC chiama.