您的位置:首页 > 数据库

SQL SERVER CHAR ( integer_expression )各版本返回值差异的案例

2016-01-03 10:45 357 查看
我们都知道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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: