3

当您在表设计器中为列使用默认值时SQL Server Management Studio,SSMS 会更改您的默认值并在其周围放置括号(在 SQL Server 的所有版本和所有版本中)。例如,如果您设置0为默认值,则此默认值更改为(0). 不知道sql server为什么要用括号,有没有实际的原因。

提前致谢。

4

2 回答 2

3

有某些类型的对象,例如DEFAULTs 和CHECK约束,SQL Server 不存储原始的文本形式 - 与存储过程相比,您可以(没有加密)始终以您的确切形式检索它把它交给服务器 - 包括任何空白、格式、评论等。

因为 SQL Server 不存储文本表单,所以当用户请求此类对象时,它总是必须重新生成文本表单以显示给用户。它选择插入括号的时间和位置可能有点神秘(没有记录),但由于它们不会改变表达式的含义,所以它们不应该成为问题。

于 2014-06-27T08:10:07.527 回答
1

实际上,0并且(0)将评估相同的结果,因此没有什么需要真正克服的。忽略它。这只是 SQL 在内部存储它们的方式和可见性问题。这样做就是您也可以交互地进行操作。不知道为什么会这样,但不用担心。

于 2014-06-27T08:11:35.077 回答