sql >> Databasteknik >  >> RDS >> Sqlserver

Ändra kolumndatatyp dynamiskt från nvarchar till decimal om ett villkor är uppfyllt sql

Du kan använda katalogvyn sys.columns för att hämta alla dina önskade kolumner från din tabell och konstruera en ALTER uttalande som en sträng:

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

Därifrån kan du ta tag i frågorna och köra dem manuellt eller öppna en CUSROR och iterera varje sats för att köra dem med en EXEC ring.



  1. SQL Server 2005 - Hitta vilka lagrade processer som körs till en viss tabell

  2. Transponera en rad till kolumner med MySQL utan att använda UNIONS?

  3. Mysql Hitta saknade datumintervall

  4. Hitta positionen för ett värde i PostgreSQL-matriser