SQL Server更新查询替换值的最后一个字符

时间:2016-01-29 11:04:16

标签: sql sql-server sql-update

我的列名source的值为JBInfotech_CLC_4120_20160128

如何将最后一个字符更新为7。我想要同时更新数百条记录。这些记录是什么:

SELECT * FROM [JBINFOTECH].[dbo].[leads] WHERE id <= 985 ORDER BY id DESC;

这是永久更新记录而不是选择。

3 个答案:

答案 0 :(得分:2)

你可以这样试试,

DECLARE @table TABLE
  (
     col1 VARCHAR(100)
  )

INSERT INTO @table
VALUES      ('ABCDEF123'),
            ('JBInfotech_CLC_4120_20160128')

SELECT *
FROM   @table

UPDATE @table
SET    col1 = Stuff(col1, Len(col1), 1, '7')

SELECT *
FROM   @table 

答案 1 :(得分:2)

尝试:

update [JBINFOTECH].[dbo].[leads]
Set [Source]=Concat(Left([Source],len([Source])-1), '7')
WHERE id <= 985

答案 2 :(得分:-1)

UPDATE leads SET source = CONCAT(substring(source,CHAR_LENGTH(source) - 1),'7')WHERE id&lt; = 985