我试图更新表中的值以使其格式为“UNKNOWN”+ 0001的唯一值下一个将是“UNKNOWN”+ 0002. im runnign into尝试更新字段时遇到一些麻烦。如何使用varchar +递增来更新字段int
DECLARE @idtest VARCHAR(15)
SET @idtest = ''
UPDATE TABLE1
SET @idtest = ID = CONVERT(int,'UNKNOWN'+ CAST(@idtest + 1 AS VARCHAR(15)))
where ID is null or LTRIM(RTRIM(ID)) = ''
GO
任何建议将是伟大的。我只能使用到2008 R2支持的sql。
UPDATE:
WITH tempUpdateTable AS (
SELECT t1.*,
ROW_NUMBER() over (ORDER BY (SELECT NULL)) AS seqnum
FROM table1 t1
WHERE ID IS NULL OR LTRIM(RTRIM(ID)) = ''
)
UPDATE tempUpdateTable
SET ID= 'UNKNOWN' + RIGHT('000' + CAST(seqnum AS VARCHAR(255)), 4);
你遇到什么错误? –