2014-11-14 82 views
1

我有文件的位置在我的表像的Sql斷絕替換功能

FileLocation: - 「\ SAURABH \拉胡爾\ SAURABH \ ABC.text」

我需要更換 「SAURABH」 與 「拉梅什」,但我需要替換第一個「Saurabh」字,而不是所有在字符串中的「saurabh」。

我試着用

select REPLACE(FILELOCATION,'saurabh','Ramesh') 

我怎麼能achive?

回答

1

試試這個:

可以使用STUFFCHARINDEX功能。

DECLARE @str varchar(100) = '\Saurabh\Rahul\Saurabh\ABC.text' 
SELECT STUFF(@str, CHARINDEX('saurabh', @str), LEN('saurabh'), '') 

OUTPUT:

\\Rahul\Saurabh\ABC.text 
1

僅更換一個詞第一次出現在一個字符串,你可以寫爲:

DECLARE @FileLocation VARCHAR(MAX) 
DECLARE @ReplaceSubString VARCHAR(MAX),@NewSubString VARCHAR(MAX) 

SET @FileLocation = '\\Saurabh\Rahul\Saurabh\ABC.text' 
SET @ReplaceSubString = 'Saurabh' 
SET @NewSubString = 'Ramesh' 

SELECT STUFF (@FileLocation , 
       CHARINDEX(@ReplaceSubString, @FileLocation) , 
       Len(@ReplaceSubString) , 
       @NewSubString 
      ) 

Demo

+0

+1爲工作代碼。 –