Sql服务器替换函数

Sql服务器替换函数,sql,sql-server,Sql,Sql Server,我的表中有文件位置,如 文件位置:-“\Saurabh\Rahul\Saurabh\ABC.text” 我需要将“Saurabh”替换为“Ramesh”,但我只需要替换第一个“Saurabh”单词,而不是字符串中的所有“Saurabh” 我试过了 select REPLACE(FILELOCATION,'saurabh','Ramesh') 我怎样才能成功?试试这个: 您可以使用和函数 DECLARE @str varchar(100) = '\Saurabh\Rahul\Saurab

我的表中有文件位置,如

文件位置:-“\Saurabh\Rahul\Saurabh\ABC.text”

我需要将“Saurabh”替换为“Ramesh”,但我只需要替换第一个“Saurabh”单词,而不是字符串中的所有“Saurabh”

我试过了

    select REPLACE(FILELOCATION,'saurabh','Ramesh')
我怎样才能成功?

试试这个:

您可以使用和函数

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

\\Rahul\Saurabh\ABC.text

要仅替换字符串中第一个出现的单词,您可以编写为:

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
             )