[英]How to replace specific string from column value in SQL Server
我的表中有varchar
列,其中包含一些數據,例如:
"#306 loream ipsum aaabbbqqqcc"
"#302 loream ipsum aaabbbceefec"
"#330 loream ipsum aaabbbccsds"
我想替換#3XX
例如C#或JavaScript中的regex語法。
如何在SQL Server中實現呢?
您可以使用STUFF
函數來實現此目的。
Declare @String Varchar(100) = '#306 loream ipsum aaabbbqqqcc'
SELECT STUFF(@String , 1,5,'')
Result: loream ipsum aaabbbqqqcc
您可以使用RIGHT
函數來實現此目的。
Declare @String Varchar(100) = '#306 loream ipsum aaabbbqqqcc'
SELECT RIGHT(@String , LEN(@String) - 5)
RESULT: loream ipsum aaabbbqqqcc
如果子字符串始終是前4個字符,則可以使用。
declare @str varchar(max)
set
@str='#306 loream ipsum aaabbbqqqcc'
select substring(@str,5,len(@str))
要刪除它,請使用此查詢。由於要刪除的字符串的長度始終為4。
UPDATE table-name SET column-name = RIGHT(column-name, LEN(column-name) - 4)
但是只運行一次,因為它是UPDATE查詢
對於MySql,您必須使用length()函數,
UPDATE table-name SET column-name = RIGHT(column-name, LENGTH(column-name) - 4)
如果可以按空格分割字符串,則按照下面的一個
Declare @str Varchar(100) = '#306 loream ipsum aaabbbqqqcc'
set @str =substring( @str ,CHARINDEX(' ', @str) , len(@str) - CHARINDEX(' ', @str)+1)
在此代碼中,您不需要任何默認長度或默認替換文本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.