テーブル内に複数の空白を削除しようとしています。文字列内のスペースを再帰的に削除します
CURSORを使用して、私はテーブルにデータを格納するストアドプロシージャの一部として以下の解決策を考え出しましたが、これは1回の実行で空白を削除しません。更新ステートメントだけを手動で複数回実行すると、スペースが完全に削除されます。どのように私は一回でデータをクリーンアップすることができますか?
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
ダブルスペースをシングルスペースに変換しようとしているのですか、またはすべてのスペースを完全に削除しようとしていますか? –