将数字添加到文本行 sql 服务器
Adding number to text rows sql server
我有一个名为 id
和 item
的列,存储的值如下:
id item
1 value
2 value
3 value
等有 192 行。这些值在系统中的不同位置,我需要在数据库中找到具体的值以将其更改为我需要的名称。
是否可以向行添加数字,例如 value_01
、value_02
等
我知道怎么用C语言做,但是不知道怎么在sql服务器上做。
已编辑:
@lad2025
在我的系统中 columns
,名称存储在数据库中。
名称相同,例如:
在应用程序中 Apple
我有 table name Apple
在应用程序中Storage
我也有table name Apple
我需要将 app Storage
列名称 Apple
更改为不同的,但我不知道它是哪个 databasa Apple 值,所以我想将 identifiers
添加到字符串, 找到合适的。所以我需要更新数据库值,以便在系统中看到它们。
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
编辑:
阅读您的评论后不清楚您想要实现什么,但请检查:
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 */
我有一个名为 id
和 item
的列,存储的值如下:
id item
1 value
2 value
3 value
等有 192 行。这些值在系统中的不同位置,我需要在数据库中找到具体的值以将其更改为我需要的名称。
是否可以向行添加数字,例如 value_01
、value_02
等
我知道怎么用C语言做,但是不知道怎么在sql服务器上做。
已编辑: @lad2025
在我的系统中 columns
,名称存储在数据库中。
名称相同,例如:
在应用程序中 Apple
我有 table name Apple
在应用程序中Storage
我也有table name Apple
我需要将 app Storage
列名称 Apple
更改为不同的,但我不知道它是哪个 databasa Apple 值,所以我想将 identifiers
添加到字符串, 找到合适的。所以我需要更新数据库值,以便在系统中看到它们。
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
编辑:
阅读您的评论后不清楚您想要实现什么,但请检查:
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 */