我这里有一些数据是这样的:
'US ' -- (5 spaces)
我有超过 300 条这样的记录,有没有办法摆脱这 5 个空格?
您可以使用RTRIM
andLTRIM
删除尾随或前导空格。
如果您只是选择记录:
SELECT RTRIM(State) AS State
FROM YourTable
如果要更新表以删除空格:
UPDATE YourTable
SET State = RTRIM(State)
大多数数据库都支持 RTRIM() 或 TRIM() 函数。
您还可以用空字符串替换空格:
select replace('abcde ', ' ', '')
(replace 函数在不同的数据库中可能被称为不同的东西。)
另一种可能性是基础类型是 CHAR 而不是 VARCHAR。在您的示例中,该列可能被声明为char(7)
而不是varchar(7)
. 如果是这种情况,则无法删除空格,因为该值被填充为七个字符。
在这种情况下,最好的办法是将定义更改为 varchar(7)。
用于RTRIM
删除字符串后的任何尾随空格。
从 tbl1 中选择 RTRIM(col1)
此外,您可以使用LTRIM
删除任何前导空白。
据我所知,此功能适用于 SQL Server、Oracle、MySQL 和 PL/SQL。