[英]SQL Replace command with wildcards
基本上我正在尝试替换括号内的字符串中的所有内容。
因此,例如'123 [1abc] abc'的字符串将变为'123 [xx] abc'
select replace(string,'[%]','[xx]') as string2 from table1
当然,除了不起作用。
括号内的值总是不同的,找到所有个体可能性根本不可行。 此外,括号内的某些值也出现在括号内,但我只希望它们在内部更改。
我在Microsoft SQL Server中工作,如果这有任何区别。
假设只有一个这样的表达式并且方括号只出现一次,你可以使用stuff()
来构造字符串:
select stuff(str,
charindex('[', str) + 1,
charindex(']', str) - charindex('[', str) - 1,
'xx')
你可以用字符串操作来做到这一点。 将字符串的左侧向上移至左括号,添加“xx”,然后从右侧括号开始添加右侧。
SELECT LEFT(string, CHARINDEX('[', string))
+ 'xx'
+ RIGHT(string, LEN(string) - CHARINDEX(']', string) + 1) AS string2
FROM table1;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.