Remove Trailing Spaces and Update in Columns in SQL Server

前端 未结 13 1051
抹茶落季
抹茶落季 2020-12-22 20:42

I have trailing spaces in a column in a SQL Server table called Company Name.

All data in this column has trailing spaces.

I want to remove all

相关标签:
13条回答
  • 2020-12-22 21:13

    Well here is a nice script to TRIM all varchar columns on a table dynamically:

    --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
    
    0 讨论(0)
提交回复
热议问题