sql声明变量字符串并在where子句中使用

时间:2012-03-26 18:01:32

标签: sql sql-server

replace(replace(Names,'Lara',''),'M','') 

正在运作,但

declare @midname varchar
set @midname = 'Lara'
replace(replace(Names,@midname,''),'M','')

无效

3 个答案:

答案 0 :(得分:4)

您应该将代码放在代码框中。很难确定你有什么,但这应该工作。

DECLARE @midname varchar(200); 
SET @midname = 'Lara'; 
SELECT Replace(Replace(Names,@midname,''),'M',''); 

名称看起来应该是变量,不确定您是如何使用它的。

答案 1 :(得分:0)

将变量声明为nvarchar(max)

答案 2 :(得分:0)

如果要更新数据,则需要将其作为更新语句运行

declare @midname varchar(200)
set @midname = 'Lara'


update [table_name]
set Names =  replace(replace(Names,@midname,''),'M','')