wake-up-neo.net

Entfernen Sie nachfolgende Leerzeichen und aktualisieren Sie sie in Spalten in SQL Server

Ich habe nachgestellte Leerzeichen in einer Spalte in einer SQL Server-Tabelle mit dem Namen Company Name.

Alle Daten in dieser Spalte enthalten Leerzeichen.

Ich möchte alle entfernen und die Daten ohne Leerzeichen haben.

Der Firmenname ist wie "Amit Tech Corp "

Ich möchte, dass der Firmenname "Amit Tech Corp" ist.

112
AGM Raja

Versuchen Sie es mit SELECT LTRIM(RTRIM('Amit Tech Corp '))

LTRIM - Entfernt alle führenden Leerzeichen von der linken Seite der Zeichenfolge

RTRIM - Entfernt alle Leerzeichen von rechts

Ex: 

update table set CompanyName = LTRIM(RTRIM(CompanyName))
249
rs.

Um nur nachstehende Leerzeichen zu trimmen, sollten Sie diese verwenden

UPDATE
    TableName
SET
    ColumnName = RTRIM(ColumnName)

Wenn Sie jedoch alle führenden und nachfolgenden Leerzeichen trimmen möchten, verwenden Sie diese Option

UPDATE
    TableName
SET
    ColumnName = LTRIM(RTRIM(ColumnName))
25
Robin Day

Nun, hier ist ein Nizza-Skript, um alle varchar-Spalten in einer Tabelle dynamisch zu TRIMMEN:

--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 + ']))'[email protected]
    FROM    #tempcols
    where id = @i

    select @i = @i+1
END

--execute the entire query
EXEC sp_executesql @trimmer

drop table #tempcols
14
Hiram
update MyTable set CompanyName = rtrim(CompanyName)
7

Wenn Sie SQL Server (beginnend mit vNext) oder Azure SQL-Datenbank verwenden, können Sie die folgende Abfrage verwenden.

SELECT TRIM(ColumnName) from TableName;

Für andere SQL SERVER-Datenbanken können Sie die folgende Abfrage verwenden.

SELECT LTRIM(RTRIM(ColumnName)) from TableName

LTRIM - Entfernt Leerzeichen von links

beispiel: select LTRIM(' test ') as trim = 'test '

RTRIM - Entfernt Leerzeichen von rechts

beispiel: select RTRIM(' test ') as trim = ' test'

2
Sukanta Saha

Ich hatte das gleiche Problem nach dem Extrahieren von Daten aus einer Excel-Datei mit ETL

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

ich hoffe es hilft ;) 

1
Salim Lyoussi

Verwenden Sie die Funktion TRIM SQL.

Wenn Sie SQL Server verwenden, versuchen Sie Folgendes: 

SELECT LTRIM(RTRIM(YourColumn)) FROM YourTable
1
Simon

SQL Server unterstützt die Trim () - Funktion nicht. 

Sie können jedoch LTRIM () verwenden, um führende Leerzeichen zu entfernen, und RTRIM (), um nachfolgende Leerzeichen zu entfernen.

kann es als LTRIM (RTRIM (ColumnName)) verwenden, um beide zu entfernen.

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

Beispiel:

SELECT TRIM('   Sample   ');

Ergebnis: 'Sample'

UPDATE TableName SET ColumnName = TRIM(ColumnName)
0
pritam

Enter entfernen:

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

Tab entfernen:

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

Nun, es hängt davon ab, welche Version von SQL Server Sie verwenden.

In SQL Server 2008 r2, 2012 und 2014 können Sie einfach TRIM(CompanyName) verwenden.

SQL Server TRIM-Funktion

In anderen Versionen müssen Sie set CompanyName = LTRIM(RTRIM(CompanyName)) verwenden.

0
Daniel Urdaneta
SELECT TRIM(ColumnName) FROM dual;
0
shevin