当前位置: 代码迷 >> Sql Server >> replace不能用于变量吗?该如何解决
  详细解决方案

replace不能用于变量吗?该如何解决

热度:22   发布时间:2016-04-27 20:32:48.0
replace不能用于变量吗?
我想实现把一个varchar变量里的一个字符串替换为另一个字符串,   这样写不行:
declare   @sql   varchar
set   @sql   =   'SELECT   *   FROM   $table$ '
set   @sql   =   REPLACE(@sql, '$table$ ', 'news ')  
print   @sql

奇怪的是,   这样写就可以
print   replace( 'SELECT   *   FROM   $table$ ', '$table$ ', 'news ')  

为什么?
我要实现在变量里使用REPLACE进行替换,   应该怎么做?

------解决方案--------------------
[email protected]

declare @sql varchar(300)
declare @p varchar(20)
DECLARE @I VARCHAR(30)
SET @I= '$table$ '
set @P= 'news '
set @sql = 'SELECT * FROM $table$ '
set @sql = REPLACE(@sql,@I,@P)
print @sql
这样也可以呀
------解决方案--------------------
declare @sql varchar(8000) -- 數組
set @sql = 'SELECT * FROM $table$ '
set @sql = REPLACE(@sql, '$table$ ', 'news ')
print @sql
  相关解决方案