MySQL - 删除指定的字符

时间:2015-07-16 06:09:33

标签: mysql

我有一个字符串<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_5="http://clients.mindbrain.com/api/0_5"> <soapenv:Header/> <soapenv:Body> <_5:GetStaff> <!--Optional:--> <_5:Request> <!--Optional:--> <_5:SourceCredentials> <!--Optional:--> <_5:SourceName>NAMENEEDED</_5:SourceName> <!--Optional:--> <_5:Password>NEEDED</_5:Password> <!--Optional:--> <_5:SiteIDs> <!--Zero or more repetitions:--> <_5:int>IDNEEDED</_5:int> </_5:SiteIDs> </_5:SourceCredentials> </_5:Request> </_5:GetStaff> </soapenv:Body> </soapenv:Envelope> 。如何删除指定的char 77681211132(索引8)和1(索引3)?字符位置是随机的。 预期输出为6

或者如何删除第一次出现指定的char?示例如果我有字符串778121132,如何删除第一个'1'字符?预期结果为77681211132

如果我使用替换,它将删除所有7768211132

2 个答案:

答案 0 :(得分:0)

以下查询删除了第一个&#39; 1&#39;它找到了char。

DECLARE
 @thestring varchar(15),
 @firststring varchar(15),
 @secondstring varchar(15)

SET @thestring = '77681211132'

SELECT @firststring = SUBSTRING(@thestring, 0, LEN(@thestring) - 1 - INSTR(@thestring, '1'))

SELECT @firststring 

SELECT @secondstring = SUBSTRING(@thestring, INSTR(@thestring, '1') + 1, LEN(@thestring) - INSTR(thestring, '1'))

SELECT @firststring + @secondstring

答案 1 :(得分:-1)

用11替换111

或使用  剩下() 和  对() 字符串运算符,用于创建一个新字符串,而不会从旧字符串的左右部分中删除该字符