Vis*_*was 1 sql t-sql sql-server
我正在使用 SQL Server 2014 并希望在表中选择一列,其行号与结果集中的列值相连。
例如:
DemoField
---------
Apple
Ball
Cat
Run Code Online (Sandbox Code Playgroud)
应该返回这个结果集:
DemoField
---------
Row1 Apple
Row2 Ball
Row3 Cat
Run Code Online (Sandbox Code Playgroud)
我在ROW_NUMBER()使用的地方遇到了一些类似的问题,但我发现它被选为单独的列,而不是连接到正在返回的现有列。
当我尝试将 连接ROW_NUMBER()到列时,出现错误:
将数据类型 varchar 转换为 bigint 时出错。
请告诉我。
谢谢
如果 2012+ 你可以使用concat()
例子
Declare @YourTable Table ([DemoField] varchar(50))
Insert Into @YourTable Values
('Apple')
,('Ball')
,('Cat')
Select concat('Row',Row_Number() over(Order By DemoField),' ',DemoField)
from @YourTable
Run Code Online (Sandbox Code Playgroud)
退货
(No column name)
Row1 Apple
Row2 Ball
Row3 Cat
Run Code Online (Sandbox Code Playgroud)