Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Spaltendatentyp dynamisch von nvarchar in dezimal ändern, wenn eine Bedingung erfüllt ist sql

Sie können die Katalogansicht sys.columns verwenden um alle gewünschten Spalten aus Ihrer Tabelle abzurufen und ein ALTER zu konstruieren Anweisung als 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%'

Von dort aus können Sie die Abfragen abrufen und manuell ausführen oder einen CUSROR öffnen und iterieren Sie jede Anweisung, um sie mit einem EXEC auszuführen anrufen.