与其说是一个问题,不如说是一个观察......
我只是在我的开发机器上升级到 SQL Server 2008,以期升级我的实时应用程序。我没有预料到任何问题,因为 [我认为] 我通常使用标准 T-SQL,并且可能与 ANSI 标准 SQL 相差不远。到目前为止一切顺利,但我真的被一个非常简单的改变所震撼:
我正在创建一个简单的小型查找表来存储代码列表,并包括一个位列来指示当前的默认代码。但是当我使用新的/修改的“编辑前 200 行”选项,并在位列中输入我的 0 和 1 时,我收到了一个错误:
'单元格的值无效 - 字符串未被识别为有效的布尔值'
经过一番摸索后,我尝试了 True 和 False - 他们奏效了。
因此,这个新的编辑功能似乎需要输入 4 或 5 个字符,而不是之前的 1 个。
进一步检查,我们仍然可以使用 ' ...where bitval = 1
' 但现在也可以使用 ' ...where bitval = 'true'
'。但是返回的任何结果仍会将这些位列呈现为 0 或 1。
这一切听起来像是倒退了半步。不是世界末日,而是不必要的烦恼。
有人对这个问题有任何见解吗?或者 SQL Server 2008 还有其他新的陷阱吗?
2012 更新: 刚刚安装了 SQL Server 2012,我注意到这种行为已被“纠正” - 就像我以前一样,我现在可以使用“编辑前 200 行”直接在行中输入 1/0 而不是 True/False ' 选项。这是一件小事,但我很高兴。