在 SQL Server 中选择行号连接的列

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 时出错。

请告诉我。

谢谢

Joh*_*tti 5

如果 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)