首页 > 其他 > 详细

分享一个小题目

时间:2015-11-29 21:05:47      阅读:207      评论:0      收藏:0      [点我收藏+]

前几天看到一个题目问,什么条件下下面条件回成立

declare @J int

STR(@J) = convert(char(8),@J)

当时我想也没有想,要相等,char那边不填充空格,就是8个长度就OK啦~就是10000000~99999999 嘛╮(╯_╰)╭然后一个漂亮的耳光过来了_(:з」∠)_

 

然后我才泡杯茶,平心静气地分析一下,写个代码执行一下

declare @J int = 1000
select str(@J),convert(char(8),@J)


           
---------- --------
      1000 1000    

再看 STR(@J)  默认10个长度,所以如果char那边只有8的长度,意味着不可能相等~噢耶

 

总结:其实题目答错是次要的。关键是自己对函数不够熟悉,比如str()一类的函数。然后在我们日常的开发工作中,真的要注意这种看似"智能"的函数,如果不注意,在数据通过函数转换类型,或者写条件做隐式转换的时候,就会影响到结果,这个才是我想要说的!!希望这次分享对大家有帮助

 

分享一个小题目

原文:http://www.cnblogs.com/Gin-23333/p/5005258.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!