在sql server中将row_number()转换为int

时间:2015-03-24 07:49:43

标签: sql sql-server-2008

我有一个查询,其中我使用了row_number()函数。我的查询类似于以下

SELECT ID, 
ROW_NUMBER() over(order by Position desc) Rank
FROM Tbl

问题是Rank正在产生一个bigint值。但我想将其转换为int。我该怎么办?

2 个答案:

答案 0 :(得分:22)

这并不是特别困难;

SELECT ID, 
CAST(ROW_NUMBER() over(order by Position desc) AS INT) Rank
FROM Tbl

答案 1 :(得分:2)

SELECT name, 
cast (ROW_NUMBER() over(order by object_id desc) as int) Rank
FROM sys.objects