指定SQL Server列默认值的语法是什么?

指定SQL Server列默认值的语法是什么?,sql,sql-server,visual-studio,visual-studio-2012,sql-server-2012,Sql,Sql Server,Visual Studio,Visual Studio 2012,Sql Server 2012,使用SQL Server 2012和Visual Studio 2012 使用VS 2012 IDE表格设计器,我添加了一个默认值,系统生成了以下内容: ALTER TABLE [dbo].[tVEHICLES] ADD [DT_ACTIVE_EVENT] DATE DEFAULT (('1980-01-01')) NULL; 问题1:我的主要问题是为什么会有双括号“((值))” 问题2:语法是否需要双括号 问题3:那么……默认值“1980-01-01”为空 先谢谢你。。。John问问

使用SQL Server 2012和Visual Studio 2012

使用VS 2012 IDE表格设计器,我添加了一个默认值,系统生成了以下内容:

ALTER TABLE [dbo].[tVEHICLES]
    ADD [DT_ACTIVE_EVENT] DATE DEFAULT (('1980-01-01')) NULL;
问题1:我的主要问题是为什么会有双括号“((值))”

问题2:语法是否需要双括号

问题3:那么……默认值“1980-01-01”为空


先谢谢你。。。John问问题真的比试代码容易吗

不需要括号。这是一个SQL小提琴

请注意其行为方式:

  • 如果未在插入中包含该列(或显式插入默认值),则将获得默认值
  • 您仍然可以在列中插入
    NULL

通常,具有默认值的列具有
NOTNULL
约束。

此外,询问“关于什么”也不清楚。但如果你的意思是NULL,就像往常一样,它允许NULL。谢谢大家的回复。因此,我问了一个我找不到任何文档化语法的问题,并在这里问到VS-2012生成的语句中括号是什么,这有两个缺点。答复指出,不要求使用双价,但没有人说“为什么”使用双价以及双价的目的是什么。我不想开始一场评论辩论。我只是在寻找问题的答案。关于……它显示了默认值,没有任何参数——没有关于空值的问题。对不起,我这么笨,好吗?谢谢你的回复和你宝贵的行为回复。在这种情况下,01-01-1980表示允许作为历史日期的最早日期。请阅读我上面的评论。谢谢你的小提琴链接,但我不知道如何开始小提琴我自己。