2016-06-09 16 views

Antwort

3

Verwenden CHARINDEX entfernen Sie das erste Vorkommen zu finden, die zu stopfen zu ersetzen, und COALESCE falls die Zeichenkette nicht gefunden:

DECLARE @input varchar(1000) 
SELECT @input='SELECT SELECT SELECT' 

SELECT COALESCE(STUFF(@input, CHARINDEX('SELECT', @input), 6, 'HELLO'), @input) 
+0

Dank. –

+0

Wenn diese Antwort Ihnen geholfen hat, beachten Sie bitte [akzeptieren] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). Die Annahme von Antworten belohnt den Beitragenden und hilft denen, die dir folgen, die beste Antwort zu finden. –

0

Hier ein Beispiel:

DECLARE @string VARCHAR(100) = 'SELECT SELECT SELECT' 
DECLARE @word VARCHAR(100) = 'SELECT' 
DECLARE @newWord VARCHAR(100) = 'WORD' 
SELECT @string, stuff(@string, charindex(@word, @string), len(@word), @newWord) 
0

Sie können stuff verwenden, um einen Teil einer Zeichenfolge durch eine andere Zeichenfolge zu überschreiben. CharIndex sagt Ihnen, wo das erste Vorkommen beginnt.

DECLARE @Txt NVARCHAR(255) = 'SELECT SELECT SELECT' 

SELECT 
    ISNULL(STUFF(@Txt, CHARINDEX('SELECT', @Txt), LEN('SELECT'), 'HELLO'), @Txt) 
; 
0

können Sie versuchen, diese für die Spitze

DECLARE @string VARCHAR(20) 
    SET @string = 'SELECT SELECT SELECT' 
    SELECT 'HELLO ' + LEFT(@string, LEN(@string) - CHARINDEX(' ',@string)) 
Verwandte Themen