在我的表varchar
列其中有像一些数据:我如何更换从列值特定字符串在SQL Server
"#306 loream ipsum aaabbbqqqcc"
"#302 loream ipsum aaabbbceefec"
"#330 loream ipsum aaabbbccsds"
我想更换#3XX
像在C#或JavaScript正则表达式的语法。
如何在SQL Server中实现?
在我的表varchar
列其中有像一些数据:我如何更换从列值特定字符串在SQL Server
"#306 loream ipsum aaabbbqqqcc"
"#302 loream ipsum aaabbbceefec"
"#330 loream ipsum aaabbbccsds"
我想更换#3XX
像在C#或JavaScript正则表达式的语法。
如何在SQL Server中实现?
您可以使用子如果它始终是前4个字符..
declare @str varchar(max)
set
@str='#306 loream ipsum aaabbbqqqcc'
select substring(@str,5,len(@str))
您可以使用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
删除它,使用此query.Since要删除字符串的长度总是4
UPDATE table-name SET column-name = RIGHT(column-name, LEN(column-name) - 4)
但只运行一次,因为它是UPDATE查询
对于MySQL,你必须使用这样的长度()函数,
UPDATE table-name SET column-name = RIGHT(column-name, LENGTH(column-name) - 4)
OP的要点是他们不知道它是什么字符串。这是一种模式,而不是一个固定的字符串。 –
不确定'替换'函数是否是一个不错的选择,因为要替换的字符串是动态的。 –
哦,我明白了,我会更新答案 –
如果有可能SPL通过空间它的字符串,然后按照下面一个
Declare @str Varchar(100) = '#306 loream ipsum aaabbbqqqcc'
set @str =substring(@str ,CHARINDEX(' ', @str) , len(@str) - CHARINDEX(' ', @str)+1)
在这其中,你不需要任何默认长度或默认替换文本。
你能显示样本输出吗? – TheGameiswar
只是用'loream ipsum aaabbbcc'代替空白字符串代码#REPLACE(StringValue,'#3XX','') –
它总是第4个字符吗? –