Đối với cách tiếp cận chung, bạn có thể sử dụng một tập lệnh như thế này để tạo câu lệnh cho bạn, cho một bảng nhất định (hữu ích nếu bạn có nhiều cột!):
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
Điều đó sẽ chỉ in câu lệnh SQL ra. Sau đó, bạn có thể sao chép + chạy câu lệnh hoặc chỉ EXECUTE(@SQL)
. Điều này chưa được kiểm tra, vì vậy chỉ cần thử nó trên bàn kiểm tra trước :)