如何在SQL插入查询中修剪空格?

问题描述 投票:-4回答:1

下面的查询向表中插入记录不会修剪空白区域。

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)

而不是分配,有没有办法修剪插入查询中的空白空间。

sql sql-server tsql
1个回答
0
投票

可能是您在该字段中具有高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

© www.soinside.com 2019 - 2024. All rights reserved.