删除尾部空间与SQL Server中列的UPDATE(Remove Trailing Spaces

2019-08-16 20:16发布

我曾在一个名为SQL Server表列尾随空格Company Name

在此列中的所有数据已经​​尾随空格。

我想删除所有这些,我想有数据而没有任何尾随空格。

该公司的名称是像"Amit Tech Corp "

我希望公司的名字是"Amit Tech Corp"

Answer 1:

尝试SELECT LTRIM(RTRIM('Amit Tech Corp '))

LTRIM -删除字符串的左侧任何前导空格

RTRIM -删除右边空格

例如:

update table set CompanyName = LTRIM(RTRIM(CompanyName))


Answer 2:

刚刚修剪尾随空格,你应该使用

UPDATE
    TableName
SET
    ColumnName = RTRIM(ColumnName)

但是,如果要修剪所有前导和尾部的空格,然后使用该

UPDATE
    TableName
SET
    ColumnName = LTRIM(RTRIM(ColumnName))


Answer 3:

那么这里是一个很好的脚本TRIM上动态表中的所有VARCHAR列:

--Just change table name
declare @MyTable varchar(100)
set @MyTable = 'MyTable'

--temp table to get column names and a row id
select column_name, ROW_NUMBER() OVER(ORDER BY column_name) as id into #tempcols from INFORMATION_SCHEMA.COLUMNS 
WHERE   DATA_TYPE IN ('varchar', 'nvarchar') and TABLE_NAME = @MyTable

declare @tri int
select @tri = count(*) from #tempcols
declare @i int
select @i = 0
declare @trimmer nvarchar(max)
declare @comma varchar(1)
set @comma = ', '

--Build Update query
select @trimmer = 'UPDATE [dbo].[' + @MyTable + '] SET '

WHILE @i <= @tri 
BEGIN

    IF (@i = @tri)
        BEGIN
        set @comma = ''
        END
    SELECT  @trimmer = @trimmer + CHAR(10)+ '[' + COLUMN_NAME + '] = LTRIM(RTRIM([' + COLUMN_NAME + ']))'+@comma
    FROM    #tempcols
    where id = @i

    select @i = @i+1
END

--execute the entire query
EXEC sp_executesql @trimmer

drop table #tempcols


Answer 4:

update MyTable set CompanyName = rtrim(CompanyName)


Answer 5:

使用TRIM SQL函数。

如果使用的是SQL Server的尝试:

SELECT LTRIM(RTRIM(YourColumn)) FROM YourTable


Answer 6:

如果您在使用SQL Server(从vNext)Azure的SQL数据库 ,那么你可以使用下面的查询。

SELECT TRIM(ColumnName) from TableName;

对于其他的SQL Server数据库 ,你可以使用下面的查询。

SELECT LTRIM(RTRIM(ColumnName)) from TableName

LTRIM - 从左侧删除空格

例如: select LTRIM(' test ') as trim = 'test '

RTRIM - 从右侧删除空格

例如: select RTRIM(' test ') as trim = ' test'



Answer 7:

嗯,这取决于SQL Server的哪个版本所使用。

在SQL Server 2008 R2中,2012年和2014年,你可以简单地使用TRIM(CompanyName)

SQL Server的TRIM功能

在其他版本中,你必须使用set CompanyName = LTRIM(RTRIM(CompanyName))



Answer 8:

SQL Server不会对TRIM()函数的支持。

但是你可以使用LTRIM()删除前导空格和RTRIM()删除尾随空格。

可以使用它作为LTRIM(RTRIM(columnName)方法)以除去两者。

update tablename
set ColumnName= LTRIM(RTRIM(ColumnName))


Answer 9:

我有同样的问题使用ETL和finaly我发现解决存在从Excel文件中提取数据后:

https://www.codeproject.com/Tips/330787/LTRIM-RTRIM-doesn-t-always-work

希望能帮助到你 ;)



Answer 10:

例:

SELECT TRIM('   Sample   ');

结果: 'Sample'

UPDATE TableName SET ColumnName = TRIM(ColumnName)


Answer 11:

SELECT TRIM(ColumnName) FROM dual;


Answer 12:

要删除输入

Update [table_name] set
[column_name]=Replace(REPLACE([column_name],CHAR(13),''),CHAR(10),'')

要删除标签

Update [table_name] set
[column_name]=REPLACE([column_name],CHAR(9),'')


Answer 13:

删除所有的空间,最好的办法就是选择REPLACE(“阿密特科技股份有限公司”,””,‘’)

相反LTRIM和RTRIM的



文章来源: Remove Trailing Spaces and Update in Columns in SQL Server