1

我这里有一些数据是这样的:

'US     ' -- (5 spaces) 

我有超过 300 条这样的记录,有没有办法摆脱这 5 个空格?

4

3 回答 3

3

您可以使用RTRIMandLTRIM删除尾随或前导空格。

如果您只是选择记录:

SELECT RTRIM(State) AS State
FROM YourTable

如果要更新表以删除空格:

UPDATE YourTable 
SET State = RTRIM(State)
于 2012-08-23T17:18:02.423 回答
0

大多数数据库都支持 RTRIM() 或 TRIM() 函数。

您还可以用空字符串替换空格:

select replace('abcde   ', ' ', '')

(replace 函数在不同的数据库中可能被称为不同的东西。)

另一种可能性是基础类型是 CHAR 而不是 VARCHAR。在您的示例中,该列可能被声明为char(7)而不是varchar(7). 如果是这种情况,则无法删除空格,因为该值被填充为七个字符。

在这种情况下,最好的办法是将定义更改为 varchar(7)。

于 2012-08-23T17:25:09.403 回答
0

用于RTRIM删除字符串后的任何尾随空格。

从 tbl1 中选择 RTRIM(col1)

此外,您可以使用LTRIM删除任何前导空白。

据我所知,此功能适用于 SQL Server、Oracle、MySQL 和 PL/SQL。

于 2012-08-23T17:26:50.747 回答