我想設置字段爲「1」,具體取決於名稱在開頭是否有「LC」,但我的語法看起來不正確爲某字符串設置爲「1」
SET @r_sql = ' UPDATE mytables'[email protected]_mystuf+'
SET feild1= ''1''
WHERE category = ''4''
AND name LIKE ''LC%';
exec (@r_sql);
感謝
我想設置字段爲「1」,具體取決於名稱在開頭是否有「LC」,但我的語法看起來不正確爲某字符串設置爲「1」
SET @r_sql = ' UPDATE mytables'[email protected]_mystuf+'
SET feild1= ''1''
WHERE category = ''4''
AND name LIKE ''LC%';
exec (@r_sql);
感謝
使用LEFT
而不是LIKE
代替LIKE ''LC%'
使用LEFT(name, 2) = 'LC'
而且如前所述引號需要整理出來。
編輯。答案的解決方案仍然有效和正確。 – Hysteria86
整個字符串將它
set @r_sql = 'update tablename' + @r_mystuf + ' set field1 = ' + '1' + ' where category = ' + '4' + ' and name like ''' +'LC%' +'''';
同樣的事情與我的AdventureWorks數據庫
declare @var nvarchar(121);
declare @r_mystuf nvarchar(11);
declare @mystuf nvarchar(11);
set @r_mystuf = 'Person';
set @var = N'update Person.' + @r_mystuf + ' set PersonType = ' + 'EE' + ' where BusinessEntityID = ' + '1' + ' and FirstName like ''' +'ke%' +'''';
print @var;
工作是列真的叫feild1或者是一個錯字?類別是字符串嗎? Field1是一個字符串?爲什麼LC%不以雙撇號結尾?如果您選擇該值,您應該明白爲什麼它的格式不正確。 – UnhandledExcepSean
另外,什麼是@ r_mystuf?是表名的那部分?並且在結尾處需要一些額外的引號 – Tanner
「LC%'後缺少單引號。它應該是'..........''LC%''''' – Wanderer