1

我需要一个可以使用更新语句更改字符串值的 1 个或 2 个字母的查询。

它是这样的:

UPDATE  
    tableName  
SET  
    LEFT(Col1, 2)='EX' -- Just a sample, only works for Select statement  
WHERE  
    Col1 like ('%MPLE')  

结果会将每个带有“-MPLE”后缀的字符串值更改为“EXMPLE”。

4

3 回答 3

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)
于 2013-10-17T08:10:44.050 回答
2

您好,以下内容对您有帮助......

DECLARE @ReplaceString CHAR(2)
SET @ReplaceString = 'RS'

UPDATE TableName SET ColName = REPLACE(ColName, LEFT(ColName, 2),@ReplaceString)
WHERE LEFT(ColName,2) = @Parameter 

=> 这里 LEFT(ColName,2) 返回 ColName 列值的前两个字符。因此,您可以将 @Parameter 值传递给 true 条件。

谢谢你,维沙尔·帕特尔

于 2013-10-17T09:42:48.163 回答
0

如果您想更新%AMPLE后缀为EXAMPLE为什么不尝试的每条记录

UPDATE  tableName  
SET  Col1 = 'EXAMPLE'
WHERE Col1 like ('%MPLE')  
于 2013-10-17T08:16:58.180 回答