我的意思是...... 比方说,你有下列下如何将数字分配给列中的唯一字符串?
column1
1. Sedan
2. Trucks
3. SUV
4. SportsCar
我想要做的就是创建一个插入值1到轿车,卡车,SUV等查询单元格的值..(四单元格的值只是作为一个例子,我需要为数百行做到这一点。)
它将之后是这个样子:
1. Sedan1
2. Trucks2
3. SUV3
4. SportsCar4
请问这甚至可能吗?
我的意思是...... 比方说,你有下列下如何将数字分配给列中的唯一字符串?
column1
1. Sedan
2. Trucks
3. SUV
4. SportsCar
我想要做的就是创建一个插入值1到轿车,卡车,SUV等查询单元格的值..(四单元格的值只是作为一个例子,我需要为数百行做到这一点。)
它将之后是这个样子:
1. Sedan1
2. Trucks2
3. SUV3
4. SportsCar4
请问这甚至可能吗?
SQL服务器
with Products as
(
select product, row_number() over(order by a_column) as R_ord
from mytable
)
update Products
set product = product + cast(R_ord as varchar(50))
另外,为什么?为什么不使用表来做到这一点?
'Row_Number'返回'BIGINT',你必须明确地转换成'varchar'。 'product + cast(R_ORD as varchar(50))' –
感谢您的回答,我正在尝试更改已经存在的表中的单元格值。如果我已经有了桌子,那么更好的方法是什么? – user7400192
@Prdp我认为这将作为一个隐式转换处理,但我已经添加了完整性 – JohnHC
CREATE TABLE #b
([column1] varchar(9))
;
INSERT INTO #b
([column1])
VALUES
('Sedan'),
('Trucks'),
('SUV'),
('SportsCar')
;
with Products as
(
select [column1], row_number() over(order by [column1]) as upd
from #b
)
select [column1] = [column1] + cast(upd as varchar(50)) from products
输出
column1
Sedan1
SportsCar2
SUV3
Trucks4
的一种方式是与ROW_NUMBER函数的铸造来连接的值。但如前所述,不知道为什么你想这样做。
select top 10
column1 + cast(row_number() over (order by column1) as varchar(10))
from my table
格式化您的代码,请.... – scsimon
Site won让我用格式化的代码发布答案。我甚至尝试发帖然后编辑,但失败了。我在Meta上搜索过,发生在其他人身上,但通常不足以修复。也可能是我身边的某种阻挡者。不确定。似乎有时会工作,但不是其他人。 – paulbarbin
我编辑它,你改回来了......现在JohnHC再次为你编辑它。使用格式代码按钮或位于标签键上方的背部刻度 - >' – scsimon
mysql或sql server?请不要标记不涉及的产品 – HoneyBadger
另外,您为什么要这么做呢? – HoneyBadger
同意以前的评论,你可能会这样做来解决另一个问题,但你可能不需要这样做来解决它。鉴于此,你可以使用Row_Number()并将它连接起来吗?有没有一些方法可以用来应用这些数字? – paulbarbin