sql 查询时候怎么把double转成int

sql 查询时候怎么把double转成int,第1张

由于double 数值较大,转换成整数可能会发生溢出,在实际处理时,要注意这个问题。

CONVERT(int, 字段或变量)

CONVERT(bigint, 字段或变量)

NT、BIGINT这些是兼容的,区别是存在磁盘上占用的空间不同、能表示的数的范围不同,对于已经存在的数据进行查询、显示的程序来说,应该是没有影响的吧。

declare @i int

declare @m varchar(2) --change to varchar(2)

set @i = 0

while @i < 96

begin

--set @m=convert(varchar,@i)

set @m=cast(@i as varchar)

print 'Face/'+@m+'gif'

set @i = @i + 1

end

--result

Face/0gif

Face/1gif

Face/2gif

Face/3gif

Face/4gif

Face/5gif

Face/6gif

Face/7gif

Face/8gif

Face/9gif

Face/10gif

Face/11gif

Face/12gif

Face/13gif

Face/14gif

sql sever 将 expression 转换为数据类型 int 时出现算术溢出错误是设置错误造成的,解决方法为:

1、首先打开,sql  sever 2008,选取你要登录的服务器,还有登录身份。然后单击确认。

2、打开visuil studio 2010 ,打开你要进行连接的文件或者解决方案,我这里就在最近使用的文件里打开。

3、sever 对应的是你连接数据库的服务器名,然后写上你的数据库名,最后一个就是windows身份自动登录的一个方式,如果你使用用户名密码登录可以写上user=“用户名” password=“密码”就可以了。

4、用户名密码与数据库匹配之后就会进入管理员页面。否则就会提示用户名或者密码错误。

首先char类型的必须是数字,将字符的数字转成数字,比如'0'转成0可以直接用加法来实现;

例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决;

select from pony order by (d+0);

在进行ifnull处理时,比如 ifnull(a/b,'0') 这样就会导致 a/b成了字符串,因此需要把'0'改成0,即可解决此困扰;

比较数字和varchar时,比如a=11,b="11ddddd"。

扩展资料

char类型占1字节,就是8位,所能存储的正整数是 0111 1111,即127。现在将 int 型的整数i= 128 赋予ch,会产生溢出。

因128是 int 型,占 4 字节,二进制代码为 0000 0000 0000 0000 0000 0000 1000 0000。若将它赋给一个只有8位的char 类型变量,只能将低8位的1000 0000 放进去,其他的都会被删掉。

整数在计算机中都是以补码的形式存储的,此时1000 0000 在计算机的眼里,是一个补码,最左边是 1 表示负数,补码1000 0000 所对应的十进制是 -128,所以最后输出的就是 -128。因此溢出会使得最大正整数变成最小负整数。

以上就是关于sql 查询时候怎么把double转成int全部的内容,包括:sql 查询时候怎么把double转成int、sql中int转char的问题、sql sever 将 expression 转换为数据类型 int 时出现算术溢出错误。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10195458.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存