将数字添加到文本行 sql 服务器

Adding number to text rows sql server

我有一个名为 iditem 的列,存储的值如下:

id item
1  value
2  value
3  value

等有 192 行。这些值在系统中的不同位置,我需要在数据库中找到具体的值以将其更改为我需要的名称。

是否可以向行添加数字,例如 value_01value_02

我知道怎么用C语言做,但是不知道怎么在sql服务器上做。

已编辑: @lad2025

在我的系统中 columns,名称存储在数据库中。 名称相同,例如:

在应用程序中 Apple 我有 table name Apple

在应用程序中Storage我也有table name Apple

我需要将 app Storage 列名称 Apple 更改为不同的,但我不知道它是哪个 databasa Apple 值,所以我想将 identifiers 添加到字符串, 找到合适的。所以我需要更新数据库值,以便在系统中看到它们。

SQLFiddleDemo

DECLARE @pad INT = 3;

SELECT
[id],
[item] = [item] + '_' + RIGHT(REPLICATE('0', @pad) + CAST([id] AS NVARCHAR(10)), @pad)
FROM your_table;

这将产生如下结果:

value_001
value_010
value_192

编辑:

阅读您的评论后不清楚您想要实现什么,但请检查:

SqlFiddleDemo2

DECLARE @pad INT = 3;

;WITH cte AS
(
  SELECT *,
    [rn] = ROW_NUMBER() OVER (PARTITION BY item ORDER BY item)
  FROM your_table

)
SELECT
[id],
[item] = [item] + '_' + RIGHT(REPLICATE('0', @pad) + CAST([rn] AS NVARCHAR(10)), @pad)
FROM cte
WHERE item = 'value';  /* You can comment it if needed */