sql2008日期字段默认值设置为当前日期

网络整理 - 08-18

 在进行机房收费系统时,数据库中有个StudentOnline表(学生上机)。

在学生上机成功后,需要向StudentOnline表写入数据。其中上机日期的写入有两种方式:一种是在界面获得当前日期,然后将其作为参数插入数据表中;另一种解决方案是在表中设置日期字段默认值为当前日期,这样我们就不需要向数据表传入日期这个参数,因为数据表会自动填充。

下面我们用一个小Demo给大家演示如何设置日期字段默认值为当前日期。

首先我们创建一个表名为Demo的数据表,并设置StartDate字段默认值为当前日期,代码如下:

?

1 2 3 4 5 Create Table Demo (     ID char(10),     StartDate char(20) not null default convert(varchar(10),getdate(),120) )

在这里强调一点,StartDate必须为Char类型,如果设置为smalldatetime或datetime,得到的结果将为日期+时间。因为smalldatetime精确到秒,datetime精确到毫秒,不够的位会用”0“填充。

下一步我们向Demo表插入一条记录,代码如下:

?

1 insert into Demo(ID) values('1')

最后我们查看下Demo表,代码如下:

?

1 select * from Demo

执行效果如下:

通过截图我们可以发现,已经达到我们的预期效果。
希望我的讲解能对大家有所帮助。