You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将视图中row_number生成的ID列从bigint改为int

解决ROW_NUMBER生成列的数据类型转换问题

你可以直接用CAST()或者CONVERT()函数包裹ROW_NUMBER()的结果,就能把默认的bigint类型转换成int类型。

修改后的视图创建代码如下:

CREATE VIEW v_Test
AS
    SELECT
        CAST(ROW_NUMBER() OVER( ORDER BY [Name] ) AS INT) AS [ID], -- 转换为int类型
        [Name]
    FROM [DB].[dbo].[TestTable]

也可以使用CONVERT()的写法:

CREATE VIEW v_Test
AS
    SELECT
        CONVERT(INT, ROW_NUMBER() OVER( ORDER BY [Name] )) AS [ID], -- 转换为int类型
        [Name]
    FROM [DB].[dbo].[TestTable]

需要注意:如果TestTable中的行数超过int类型的最大值(2147483647),转换时会触发报错,所以要确保数据量在int的取值范围内再使用该方法。

内容的提问来源于stack exchange,提问作者XSLT-explorer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 14:01:18