黑马程序员技术交流社区

标题: 在SQL中,Select ‘123’+1结果是为什么是124? [打印本页]

作者: 维纳斯之叶    时间: 2012-11-21 22:47
标题: 在SQL中,Select ‘123’+1结果是为什么是124?
在SQL中,Select ‘123’+1结果是为什么是124?
作者: dqzg12300    时间: 2012-11-21 23:15
··看这种情况就知道了·估计是自动吧字符串转换成整数值了。你试试'123'+'1'试下。结果是1231就可以得到结论。数据库查询中,字符串+整数会自动转换成整数。当然了。我米查资料,只是看你说的结果猜的
作者: 崔晓聪    时间: 2012-11-22 09:29
本帖最后由 崔晓聪 于 2012-11-22 09:46 编辑

在SQL中,Select ‘123’+1结果之所以是124,是因为相当于123+1=124  像这样Select '1236'+7+5 结果为1248一样,你看图:

如果你输入 select '您好'+5 就报错了,因为单引号('') 类型必须是int类型才能被认为是int数值 ,超出int 就不行了,你可以试一下select '123456456456456'+5 ,select '2.1'+5 。
作者: 韩俊    时间: 2012-11-22 10:08
'123'是数字字符串和int相加时,只能将'123'显式转换为int类型,再和int相加,select '123'+1,得到124的结果,如果是'123'+'1'这里的加号就是连接的意思得到1231这个结果




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2