2011-01-11 7 views

Antwort

19
select substring(field, 1, 5) from sometable 
+0

Mark, ich muss die linken 8 Zeichen einer Spalte aus einer Tabelle schneiden.Bitte schlagen Sie vor. – Simhadri

+2

@ Simhadri: In diesem Fall könnten Sie, wie in [meine Antwort] (http://stackoverflow.com/questions/4662496/trim-left-characters-in-sql-server/4662658#4662658) vorgeschlagen, SELECT verwenden STUFF (field, 1,8, '') FROM speakable ' –

2

Verwendung "LEFT"

select left('Hello World', 5) 

oder verwenden „SUBSTRING "

select substring('Hello World', 1, 5) 
+0

Shane danke für die Antwort, ich muss World von Hello World disply. – Simhadri

+0

können Sie wählen rechts ('Hallo Welt', 5) –

+0

Vielen Dank Shane – Simhadri

22

um entfernen die am weitesten links stehende Wort, werden Sie entweder nach rechts oder SUBSTRING verwenden müssen. Vorausgesetzt, dass Sie kn ow, wie viele Zeichen beteiligt sind, dass eine der folgenden aussehen:

SELECT RIGHT('Hello World', 5) 
SELECT SUBSTRING('Hello World', 6, 100) 

Wenn Sie nicht, wie viele Zeichen wissen, das erste Wort hat, müssen Sie CHARINDEX mit herauszufinden, ersetzen dieser Wert wieder in SUBSTRING:

SELECT SUBSTRING('Hello World', CHARINDEX(' ', 'Hello World') + 1, 100) 

Dadurch wird die Position des ersten Raumes findet, nimmt dann die restlichen Zeichen nach rechts.

5

Für 'Hallo' zu Beginn der Zeichenfolge:

SELECT STUFF('Hello World', 1, 6, '') 

Dies funktioniert für 'Hallo' überall in der Zeichenfolge:

SELECT REPLACE('Hello World', 'Hello ', '') 
4

Sie LEN mit SUBSTRING in Kombination verwenden können:

SELECT SUBSTRING(myColumn, 7, LEN(myColumn)) from myTable 
Verwandte Themen