使用select语句在create table语法中定义默认列值

时间:2015-09-22 13:50:28

标签: sql tsql ddl

我正在尝试创建一个表格,对于其中一个列,我希望默认值是特定的 - 请参阅下面的代码:

CREATE TABLE dbo.PSTest(
modDate datetime default getdate()
, [Date] datetime default (SELECT CONVERT (DATE, GETDATE()))
);

我收到以下错误

Msg 1046, Level 15, State 1, Line 28
Subqueries are not allowed in this context. Only scalar expressions are allowed.

我知道我无法做到这一点,但是有办法实现这个目标吗?

提前谢谢

1 个答案:

答案 0 :(得分:5)

您不需要子查询:

CREATE TABLE dbo.PSTest(
    modDate datetime default getdate(),
    [Date] datetime default cast(getdate() as date)
);