星空网 > 软件开发 > 数据库

分享一个小题目

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

declare @J int

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

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

 

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

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

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

 

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

 




原标题:分享一个小题目

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流