![](/img/trans.png)
[英]PostgreSQL: Check if substring is in a string and if true then replace the entire string with the substring
[英]Replace last matched substring of string
我想替換匹配的最后一個 substring 字符串
例子
DECLARE @string NVARCHAR(MAX)= 'Greeting<br><br>As many offices move to remote work. <br><br>Have a good day<br><br>'
SELECT REPLACE(@string,'<br><br>','')
結果需要
@string = 'Greeting<br><br>As many offices move to remote work. <br><br>Have a good day'
需要更換最后兩個
有空的
如果性能不是問題,您可以嘗試將字符串反轉,然后將第一部分剪掉並反轉回來
DECLARE @string NVARCHAR(MAX)= 'Greeting<br><br>As many offices move to remote work. <br><br>Have a good day<br><br>'
declare @pat nvarchar(max) = (select REVERSE('<br><br>'))
declare @rsv nvarchar(max) = (select REVERSE(@string))
declare @idx int = (select CHARINDEX(@pat, @rsv, 0))
declare @result nvarchar(max) = (select left(@rsv, @idx - 1) + right(@rsv, len(@rsv) - @idx - LEN(@pat) + 1))
set @result = reverse(@result)
print @result
結果是:
Greeting<br><br>As many offices move to remote work. <br><br>Have a good day
您可以縮短代碼。 我只是把它寫得很詳細,所以邏輯會很清楚。
如果它總是在最后,另一種更簡單的方法是在字符串中添加一個特殊字符,然后替換包括它。
select @string=Replace(@string+'~','<br><br>~','')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.