Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Sql查询括号-用单个字符替换所有文本_Sql Server - Fatal编程技术网

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

Sql server Sql查询括号-用单个字符替换所有文本,sql-server,Sql Server,在这种情况下,我需要在存储过程中用一个字符替换整个文本和方括号。 (Iam使用Sql Server 2012) 例:-> 让我们考虑一个文本 SA[12345 6DD]文本 < /P> 我只是想用另一个字符来替换方括号内的所有文本和方括号本身,比如“X” 在这里,我的最终结果应该是sanXtext 有人能帮我吗 DECLARE @String VARCHAR(1000) = 'san[123456dd]text' SELECT LEFT(@String, CHARINDEX('[', @Str

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

例:->

让我们考虑一个文本<强> SA[12345 6DD]文本<强> < /P> 我只是想用另一个字符来替换方括号内的所有文本和方括号本身,比如“X”

在这里,我的最终结果应该是sanXtext

有人能帮我吗

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

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

Result: sanXtext

你用谷歌搜索过这个吗?谷歌对于“SQL替换”你是否需要考虑嵌套[],或者如果完整的文本不是单行内的程序,那么搜索跨多行?如果是,那么您还想看看CHARINDEX函数。@user322478您很高兴它帮助您现在可以接受答案:)
SELECT REPLACE(col,SUBSTRING(col, (CHARINDEX('[',col)), CHARINDEX(']',col) - 
          (CHARINDEX('[', col)) + Len(']')),'x')
  FROM tableName