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