当您对SQL Server Management Studio
表设计器中的列使用默认值时,SSMS会更改您的默认值并使用括号括号(在所有版本和所有版本的SQL Server中)。例如,如果将0
设置为默认值,则此默认值更改为(0)
。我不知道为什么sql server使用括号,并且有一个实际的原因。
提前致谢。
答案 0 :(得分:3)
某些类型的对象,例如DEFAULT
和CHECK
约束,SQL Server不存储原始的文本形式 - 与存储过程相比,在那里你can(缺席加密)总是以你给服务器的确切形式检索它 - 包括任何空格,格式,注释等。
由于SQL Server不存储文本格式,因此它总是必须重新生成文本格式,以便在用户请求此类对象时显示。它选择插入括号的时间和地点可能有点神秘(没有记录),但由于它们不会改变表达式的含义,因此它们不应该成为一个问题。
答案 1 :(得分:1)
实际上,0
和(0)
会评估相同的结果,因此没有什么可以真正克服的。忽略它。这就是SQL如何在内部存储它们以及可见性问题。
它确实是你以交互方式做到的。不知道为什么会这样,但不要担心。