Sql 在一次放炮中替换多个字符串

Sql 在一次放炮中替换多个字符串,sql,Sql,我正在写一个存储过程 用某些值替换属于表列的字符串。字符串数据如下所示- *亲爱的#员工,我们很高兴从#日期起将您的#CTC L增加#增量* 我们将通过参数传递#employee、#CTC和#date 产量应该是-亲爱的Ram,我们很高兴从2014年1月22日起将您的ctc 3.5升提高10% 我不想循环,有没有办法一次就完成 感谢链调用以替换: replace(replace(replace(msg, '#employee', emp), '#increment', inc), '#date'

我正在写一个存储过程 用某些值替换属于表列的字符串。字符串数据如下所示-

*亲爱的#员工,我们很高兴从#日期起将您的#CTC L增加#增量*

我们将通过参数传递#employee、#CTC和#date

产量应该是-亲爱的Ram,我们很高兴从2014年1月22日起将您的ctc 3.5升提高10%

我不想循环,有没有办法一次就完成


感谢链调用以替换:

replace(replace(replace(msg, '#employee', emp), '#increment', inc), '#date', fromDate))) -- etc

这样行吗?

谢谢。好吧,我想让这个查询更通用,假设上面的字符串是亲爱的#employee,我们很高兴将您的#CTC L从#日期增加#增量“n个变量的数量和这些变量在某些方面是相同的,比如书签hv#Name、#CTC、#Desig、#Date……等等,所以从我们的存储过程中,我们总是会传递所有变量的值,所以我将如何循环这些变量来替换字符串。。。请指出你的问题是矛盾的。您首先声明不想循环,现在您要求循环。您不能同时循环和不循环。我的意思是,当我将查询更改为新的需求时,是否可以在一次快照中进行替换
REPLACE (
    REPLACE ( 
        REPLACE (
            REPLACE ( "*dear #employee we are happy to raise your #CTC L by #increment from #date*" , "#employee", "Ram")
        , "#CTL", "ctl 3.5" ), 
            #increment,  "10%"),
            "#date", "22-013-2014")