SQL Server - 将数据类型 nvarchar 转换为 bigint 时出错

新手上路,请多包涵

当我使用 SELECT * 运行以下查询时,我收到错误消息:

[S0005][8114] 将数据类型 nvarchar 转换为 bigint 时出错。

 SELECT * FROM (
                SELECT * , ROW_NUMBER() OVER (ORDER BY CAST(id as BIGINT)) AS RowNum
                FROM users
            ) AS users
            WHERE users.RowNum BETWEEN 0 AND 5 ;

当我仅使用 SELECT id , ROW_NUMBER() ... 运行此查询时,一切正常。

我的数据库如下所示:

数据库图片

此查询与其他表一起运行良好,其中 id 列是 NVARCHAR

ID 列仅是数字,如果我将其转换为: CAST(id as NVARCHAR) 我得到同样的错误。

编辑:

我发现列 ID 值有问题

编号 46903836 编号 9100000004

小 ID 没有前导零

原文由 Lukáš Irsák 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏