sql server-菜鸟请教:bigint类型数据赋值给int型时出现溢出

问题描述

菜鸟请教:bigint类型数据赋值给int型时出现溢出
最近在做sqlserver存储过程,其中有这样一段查询,将bigint型数据oid赋值给@ID时出现溢出。
已经看了好几天,怎么改都是溢出,都转换为字符串会有其他错误,,求解答。本人新手上路,希望多多指教。

如图所示,蓝图部分,曾试过convert和cast函数,

解决方案

是不是实际的值已经超过int的最大值了。我测试如果值没操作,不会有问题,比如

下面将@i就是int的最大值,再加一就会出错了

DECLARE @i BIGINT =2147483645DECLARE @j INTSET @i=POWER( CONVERT(BIGINT 2)31)-1SET @j=@iSELECT @i@j
时间: 2024-09-08 13:56:28

sql server-菜鸟请教:bigint类型数据赋值给int型时出现溢出的相关文章

在SQL Server中修改字段类型和字段名称

  在SQL Server中修改字段类型和字段名称 --以下是完整的SQL执行语句 if exists(select * from syscolumns where id=object_id('数据表名称') and name='字段名') --判断该字段是否存在 begin ALTER TABLE 表明 ALTER COLUMN 字段名 VARCHAR(64);--更改类型 end GO if exists(select * from syscolumns where id=object_id

Sql Server函数全解<三>数据类型转换函数和文本图像函数

原文:Sql Server函数全解<三>数据类型转换函数和文本图像函数 一:数据类型转换函数 在同时处理不同数据类型的值时,SQL Server一般会自动进行隐士类型转换.对于数据类型相近的值是有效的,比如int和float,但是对于其它数据类型,例如整型和字符类型,隐士转换就无法实现了,此时必须使用显示转换.为了实现这种显示转换,T-SQL提供了两个显示转换函数,分别是CAST和CONVERT函数. CAST(x AS type)和CONVERT(type,x)函数将一个类型的值转换为另一个

Excell导SQL Server 某列包含混合数据 导致非数字串为null

  [问题描述]     Excell文件导入SQL Server时,某列数据中即包含纯数字组合的串,也包含带有个别字母的串.导入数据库时,该列的所有非纯数字串为null.例如:     Excell文件:     Sid    Name    Code     1        Jerry       1001     2        Merry      CN01     3        Mark       1002     导入数据库表后:     1      Jerry    

ado-关于基于VS2010,用MFC链接SQL Server 2005 以及实现读写数据的功能

问题描述 关于基于VS2010,用MFC链接SQL Server 2005 以及实现读写数据的功能 希望有程序的大牛们可以发一份给我,我是新手,急急急!再此谢了..最好是用ADO连接的 解决方案 可以看看这几个http://download.csdn.net/download/applev1986/2096097http://download.csdn.net/download/liuxingyihui03/1521720http://download.csdn.net/download/che

为什么这个SQL SERVER 2005 management studio 没有数据导入导出的功能

问题描述 为什么这个SQL SERVER 2005 management studio 没有数据导入导出的功能 解决方案 导出导入的功能在你选择数据库服务器根节点的菜单上. 解决方案二: SQL Server 2005 没有SQL Server Management Studio[已解决]SQL Server 2005 企业版没有 Management Studio管理工具Sql Server2005导入导出表数据

SQL server中多种关键字查询数据

问题描述 SQL server中多种关键字查询数据 比如学生有姓名,学号,班级等列,我可以通过学号查询,也可以通过姓名查询 解决方案 两个办法,一个是首先在代码中判断输入的是全数字还是中文,分别执行不同的查询.或者写在一起:select * from table where 姓名=输入 or 学号=输入 解决方案二: select * from 学生表 where name = '姓名' or No='学号' 解决方案三: 可以使用动态sql拼接比如定义一个@sqltext 根据不同的情况拼接s

sql server 08 r2数据库导入数据时报错,怎么解决

问题描述 sql server 08 r2数据库导入数据时报错,怎么解决 解决方案 不是文件缺失?建议查查. 解决方案二: 尝试以管理员模式运行sqlserver试试

清空SQL Server数据库中所有表数据的方法

原文:清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSForEachTable存储过程. 也许很多读者朋友都经历过这样的事情:要在开发数据库基础上清理一个空库,但由于对数据库结构缺乏整体了解,在删除一个表的记录时,删除不了,因为可能有外键约束,一个常见的数据库结构是一个主表,一个子表,这种情况下一般

SQL Server 2012全力打造大数据特性

本文讲的是SQL Server 2012全力打造大数据特性,同其他IT厂商一样,微软公司也做好了全面进军"大数据"领域的准备,而即将发布的SQL Server 2012将成为微软大数据战略的支点.最新的数据库平台将提供一系列的大数据功能,其中包括Apache Hadoop连接器.开源分布式计算架构,能够存储并处理海量的结构化与非结构化数据. 为了让用户对于SQL Server 2012的大数据功能有一个更直观的了解,记者采访微软数据库平台专家Mark Kromer,让他来谈一谈SQL