我有一個varchar字段包含這種格式「00001」,「00002」等數字 當我試圖通過使用最大(字段)+ 1獲得下一個數字,我得到例如整數「3」。獲取最大值+ 1而不刪除零
如何獲得結果「00003」而不是「3」?
這裏有一個工作的例子中,我只是隨它去,但我覺得有必須有一個更簡單的方法:
SELECT TOP (1)
{ fn REPEAT(0, LEN(ItemId) - LEN(MAX(ItemId) + 1)) } +
CAST(MAX(ItemId) + 1 AS varchar(7)) AS Expr1
FROM Items
GROUP BY ItemId
ORDER BY ItemId DESC
的最後一個查詢給出正確的結果「0004916」
真正的考驗是什麼,你應該得到'00009','00010'或'000010'? – dasblinkenlight
[在SQL Server中通過填充前導零來格式化數字]可能的重複(http://stackoverflow.com/questions/9520661/formatting-numbers-by-padding-with-leading-zeros-in-sql-server) – qxg