我需要一个可以使用update语句更改字符串值的1或2个字母的查询。
它是这样的:
UPDATE
tableName
SET
LEFT(Col1, 2)='EX' -- Just a sample, only works for Select statement
WHERE
Col1 like ('%MPLE')
结果将更改每个字符串值,并且'-MPLE'后缀变为'EXMPLE'。
答案 0 :(得分:4)
DECLARE @pattern AS VARCHAR(10)--you may need to change the length
DECLARE @changeto AS VARCHAR(2)--you may need to change the length
SET @pattern = '%MPLE'
SET @changeto = 'EX'
UPDATE
tableName
SET
Col1 = CASE
WHEN LEN(Col1) > 2 --If Col1 has more than 2 characters
THEN @changeto + RIGHT(Col1,LEN(Col1)-2) --Update the first two characters
ELSE @changeto --Else replace the whole word
END
WHERE
Col1 like (@pattern)
答案 1 :(得分:2)
<强>嗨, 以下内容对您有所帮助....
DECLARE @ReplaceString CHAR(2) SET @ReplaceString = 'RS' UPDATE TableName SET ColName = REPLACE(ColName, LEFT(ColName, 2),@ReplaceString) WHERE LEFT(ColName,2) = @Parameter
=&GT;这里LEFT(ColName,2)返回ColName列值的前两个字符。所以你可以将@Parameter值传递给true。
谢谢, Vishal Patel
答案 2 :(得分:0)
如果您要将%AMPLE
后缀的每条记录更新为EXAMPLE
,请尝试
UPDATE tableName
SET Col1 = 'EXAMPLE'
WHERE Col1 like ('%MPLE')