Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Modifier dynamiquement le type de données de la colonne de nvarchar en décimal si une condition est satisfaite sql

Vous pouvez utiliser la vue catalogue sys.columns pour récupérer toutes vos colonnes souhaitées de votre table et construire un ALTER déclaration sous forme de chaîne :

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à, vous pouvez saisir les requêtes et les exécuter manuellement ou ouvrir un CUSROR et itérer chaque instruction pour les exécuter avec un EXEC appeler.