我需要使用另一個文件夾路徑替換位於具有文件夾路徑的URL中間的SQL中的字符串。要替換的文件夾路徑將會更小,更大或與正在替換的文件夾的大小相同。我正在嘗試使用STUFF
,但它只替換了我插入的相同數量的字符。使用STUFF替換SQL中的字符串,並使用小於要替換的字符串的字符串
如何適應不同的字符串長度來替換? 這是我的SQL 在下面的例子我想與你原來的企圖取代UDS +報告%2fDSParameterizedDynamicReports與UDSReports%2fPWReports
DECLARE @StartPosition int, @StringLength int
DECLARE @NewFilePath varchar(max) = 'http://servername/ReportServer?%2fUDS+Reports%2fDSParameterizedDynamicReports%2fPatientsbyCode'
DECLARE @ReportFilePath varchar(200) = 'UDSReports/PWReports'
SELECT @ReportFilePath = REPLACE(REPLACE(@ReportFilePath, ' ', '+'), '/', '%2f')
SELECT @ReportFilePath
DECLARE @StartPosition int, @StringLength int, @ParameterList varchar(max)
SELECT @StartPosition = CHARINDEX('%2f', @NewFilePath) + 1
SELECT @StartPosition
SELECT @StringLength = REVERSE(CHARINDEX('%2f', @NewFilePath)) - @StartPosition
SELECT @StringLength
SELECT @NewFilePath = STUFF(@NewFilePath, @StartPosition, @StringLength, @ReportFilePath)
SELECT @NewFilePath
請寫出所需的最終選擇輸出 – EoinS
@GloriaSantin對此有何更新? – SqlZim