2008-10-07 2 views

Antwort

167
SELECT LTRIM(RTRIM(Names)) AS Names FROM Customer 
+3

dies ist der einfachste Weg, es zu tun, nur nicht vergessen, Ihre Spalte alias – Miles

+1

@Miles zurückgegeben wird - ich den Alias ​​für Vollständigkeit gegeben. –

+2

Ich verstehe, dass dies der richtige Weg ist, das Trimmen des Wertes zu verwenden. aber können Sie erklären, warum Sie sowohl LTRIM als auch RTRIM verwenden, wenn wir stattdessen nur TRIM verwenden konnten? –

53

auf der rechten Seite, Gebrauch zu trimmen:

SELECT RTRIM(Names) FROM Customer 

auf der linken Seite zu trimmen, zu verwenden:

SELECT LTRIM(Names) FROM Customer 

auf die beiden zu trimmen Seiten, verwenden:

SELECT LTRIM(RTRIM(Names)) FROM Customer 
+3

Übrigens, welchen möglichen Grund könnte Microsoft haben, um eine LTRIM- und RTRIM-Funktion ohne ein TRIM zu integrieren? Es ist eigenartig. –

+0

Weil es überflüssig ist. Sie können dasselbe mit LTRIM (RTRIM (var)) erreichen. – Kibbee

+41

Ja, aber das sind zwei Funktionsaufrufe. Sie könnten sagen, dass sie alle redundant sind, da TSQL CHARINDEX und SUBSTRING hat, aber das ist eine idiotische Art, es zu betrachten. –

6

Ich nehme an, dies ist eine einmalige Datenschrubbübung. Wenn Sie fertig sind, stellen Sie sicher, dass Sie Datenbankeinschränkungen hinzufügen, um in Zukunft fehlerhafte Daten zu verhindern, z.

Bedenken Sie auch, dass andere Zeichen (Tab, Carriage Return, Zeilenvorschub usw.), die Probleme verursachen könnten, nicht zulässig sind.

Es kann auch eine gute Zeit sein, diese Namen in family_name, first_name, etc :)

0

in SQL Server 2008 R2 mit ssis Ausdruck wir die Trimm-Funktion haben aufzuspalten.

SQL Server Integration Services (SSIS) ist eine Komponente der Microsoft SQL Server-Datenbanksoftware, die zur Durchführung einer breiten Palette von Datenmigrationsaufgaben verwendet werden kann.

können Sie die vollständige Beschreibung auf diesen Link

http://msdn.microsoft.com/en-us/library/ms139947.aspx

aber diese Funktion haben einige Einschränkungen in sich selbst finden, die von Msdn auch auf dieser Seite erwähnt werden. aber dies ist in SQL Server 2008 R2

TRIM(" New York ") .The return result is "New York". 
+3

Dies hat nichts mit MS SQL zu tun, außer dass es in einem Produkt enthalten ist, das mit der Datenbank gebündelt ist. – siride

3
SELECT LTRIM(RTRIM(Replace(Replace(Replace(name,' ',' '),CHAR(13), ' '),char(10), ' '))) 
from author 
Verwandte Themen