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

SQL Server:come eseguire Rtrim su tutte le colonne varchar di una tabella

Per un approccio generico, puoi utilizzare uno script come questo per generare l'istruzione per te, per una determinata tabella (utile se hai molte colonne!):

DECLARE @SQL VARCHAR(MAX)
DECLARE @TableName NVARCHAR(128)
SET @TableName = 'YourTableName'

SELECT @SQL = COALESCE(@SQL + ',[', '[') + 
              COLUMN_NAME + ']=RTRIM([' + COLUMN_NAME + '])'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TableName
    AND DATA_TYPE = 'varchar'

SET @SQL = 'UPDATE [' + @TableName + '] SET ' + @SQL
PRINT @SQL

Questo stamperà semplicemente l'istruzione SQL. Puoi quindi copiare + eseguire l'istruzione o semplicemente EXECUTE(@SQL) . Questo non è testato, quindi provalo prima su un tavolo di prova :)