SQL SERVER CHAR ( integer_expression )各版本返回值差异的案例
2016-01-03 10:45 潇湘隐者 阅读(974) 评论(0) 编辑 收藏 举报我们都知道CHAR(integer_expression)将ASCII代码转换为字符。当integer_expression介于 0 和 255 之间的整数。如果该整数表达式不在此范围内,将返回 NULL 值。这些都是官方资料介绍的。具体参考https://msdn.microsoft.com/zh-cn/library/ms187323(v=sql.120).aspx
但是在我们最近的一次SQL SERVER 2005 迁移升级到SQL SERVER 2014的过程中发现了一些问题,发现官方文档对这个函数的介绍描述有一些谬误。如下所示,在SQL SERVER 2000 和SQL SERVER 2005中CHAR(129)到CHAR(254)都返回了?。 但是从SQL SERVER 2008以后到SQL SERVER 2014,CHAR(129)到CHAR(254)都返回NULL值。并不是官方文档所说的参数不在1~255内才返回NULL值。这些必须注意,以免开发人员有些特殊的SQL用法在升级后出现错误。
SQL SERVER 2000
SQL SERVER 2005
SQL SERVER 2008R2
SQL SERVER 2014
扫描上面二维码关注我
如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.