下面的查询向表中插入记录不会修剪空白区域。
Insert into MyTable (MyColumn)
select RTRIM(LTRIM(rowvalue)) from #temptable
或者,如果我指定一个变量并插回,则修剪空格。
Declare @var varchar(max)
set @var = ( select RTRIM(LTRIM(rowvalue)) from #temptable )
go
Insert into MyTable (MyColumn) values ( @var)
而不是分配,有没有办法修剪插入查询中的空白空间。
可能是您在该字段中具有高ASCII字符。试试这个并查看结果是否返回,它会检查该字段是否包含1-31和127-255之间的字符。
-- See if it's in the low ASCII range
SELECT *
FROM #temp
WHERE rowvalue LIKE '%[' + CHAR(1)+ '-' +CHAR(31)+']%' COLLATE Latin1_General_100_BIN2
-- See if it's in the high ASCII range
SELECT *
FROM #temp
WHERE rowvalue LIKE '%[' + CHAR(127)+ '-' +CHAR(255)+']%' COLLATE Latin1_General_100_BIN2
如果记录返回,您可能需要替换该字符才能将其删除。见here