replace(replace(Names,'Lara',''),'M','')
正在使用,但SQL中聲明的變量字符串,並在where子句
declare @midname varchar
set @midname = 'Lara'
replace(replace(Names,@midname,''),'M','')
不工作
replace(replace(Names,'Lara',''),'M','')
正在使用,但SQL中聲明的變量字符串,並在where子句
declare @midname varchar
set @midname = 'Lara'
replace(replace(Names,@midname,''),'M','')
不工作
你應該把你的代碼在代碼框。很難確定你有什麼,但這應該工作。
DECLARE @midname varchar(200);
SET @midname = 'Lara';
SELECT Replace(Replace(Names,@midname,''),'M','');
名稱看起來應該是一個變量,不確定你是如何使用它的。
你需要SELECT之前的替換和一個varchar比例例如'declare @midname varchar(200)' – 2012-03-26 18:09:02
聲明該變量爲nvarchar(max)
。
I在這種情況下不同意max,他不想unicode。 – 2012-03-26 18:10:12
@RussellHart - 'NVARCHAR'是一個習慣問題。一些自然語言數據將包含它只是時間問題。 Java代程序語言爲什麼不給你一個7位字符集和Unicode之間的真實選擇是有原因的。 – 2012-03-26 18:25:57
我通常也會聲明爲nvarchar。但是,如果你知道你不需要unicode,並且它是一個非常大的數據集,那麼切換到varchar將會減少一半的存儲空間(對IO來說也是很好的)。 我也不記得使用unicode字符看到一個人的名字,但我可能是錯的。 只是爲了澄清這是一個8位集在這種情況下。 – 2012-03-26 18:31:56
你需要運行這個作爲一個更新語句,如果你想要的數據更新
declare @midname varchar(200)
set @midname = 'Lara'
update [table_name]
set Names = replace(replace(Names,@midname,''),'M','')
你還沒有定義@mindname的大小 – 2012-03-26 18:06:52
你並不需要定義大小。 Gopi,你能告訴我們它拋出的錯誤嗎?你的語法是正確的,它應該工作。 – 2012-03-26 18:09:38
@MichaelCapobianco:沒有大小,它是varchar(1)。 – 2012-03-26 18:15:34