在SQL中的文本字段中替换值

时间:2018-06-11 12:57:28

标签: sql sql-server

我的一个表中有一个文本字段

##EmploymentStatus## = 'TERMINATED W/ BENEFITS' and
##UserDefinedField5## = null or ##UserDefinedField5## = 'N' or ##UserDefinedField5## ='NO'

以上是用户输入,我需要将其转换为SQL查询 我想删除## ##并将我的列名插入其中。

我尝试过使用stuff函数,但它只适用于第一个字段,即EmploymentStatus,但我需要在整个字段中完成。

请建议。

2 个答案:

答案 0 :(得分:0)

SELECT Replace(col, '##', 'eed_') 
FROM   (SELECT Substring(col, 1, Charindex('#', col, 3) - 1) AS col 
        FROM   tab)rep 

答案 1 :(得分:0)

试试这个

DECLARE @dATA AS TABLE (data nvarchar(max))

INSERT INTO @dATA
SELECT '##EmploymentStatus## = ''TERMINATED W/ BENEFITS'' and ##UserDefinedField5## = null or ##UserDefinedField5## = ''N'' or ##UserDefinedField5## = ''NO'''

SELECT data,REPLACE(REPLACE(data,'## =',' = '),'##','eed_') AS Result
FROM @dATA

演示结果:http://rextester.com/FKGO70085