我試圖從我的表中刪除多個空格,其中包含40個列以及其中的字符串值和約150K行。在字符串中遞歸地刪除空間
使用CURSOR,我想出了以下解決方案(作爲我的存儲過程的一部分填充我的表),但是這並不能刪除單次運行中的空白。如果我多次手動運行更新語句,空格將被完全刪除。有關如何在單次運行中清理數據的想法?
Declare @col nvarchar(128)
Declare StringCol CUSRSOR for
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'TableName'
AND DATA_TYPE = 'varchar'
OPEN StringCol
FETCH NEXT FROM StringCol into @col;
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE TableName
SET @col = LTRIM(RTRIM(REPLACE(@col, ' ', ' ')))
WHERE @col LIKE '% %'
FETCH NEXT FROM StringCol into @col
END
CLOSE StringCol
Deallocate StringCol
END
您是否試圖將雙空格轉換爲單個空格,或者完全刪除所有空格? –