Sql查询括号 - 用单个字符替换所有文本

时间:2014-02-20 19:30:19

标签: sql-server

我有一种情况,我需要用存储过程中的单个字符替换整个文本和方括号。 (我使用的是Sql Server 2012)。

如: - >

让我们考虑一下我有一个文字 san [123456dd] text

我只想将方括号内的所有文字和方括号本身替换为另一个字母'X'

此处,我的最终结果应为 sanXtext

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

DECLARE @String VARCHAR(1000) = 'san[123456dd]text'

SELECT LEFT(@String, CHARINDEX('[', @String)-1) +'X' +
       RIGHT(@String, CHARINDEX(']', REVERSE(@String))-1)

Result: sanXtext

答案 1 :(得分:0)

SELECT REPLACE(col,SUBSTRING(col, (CHARINDEX('[',col)), CHARINDEX(']',col) - 
          (CHARINDEX('[', col)) + Len(']')),'x')
  FROM tableName

Fiddle