我已阅读此内容但仍无法理解。希望有人在这里向我解释。我有一个查询,只为我的列分配一个当前日期值。但是,如果我的查询如下,我想知道是否应该将新列创建为DATETIME
或SMALLDATETIME
:
Insert into table(col A)
Select DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0) As ColA
from table B
我想我的select语句已经没有时间给我日期值了。我怀疑在我的数据库表中创建Col A
。我使用的是Sql 2005.
更新:
所以我的qns是如何在我的数据库表中创建我的列A?我需要为它添加约束吗?首选哪种数据类型?
答案 0 :(得分:3)
SQL Server 2005不支持date
数据类型。这将是您真正想要的数据类型。
smalldatetime
和datetime
都存储带有时间组件的日期。这些在SQL Server documentation中有解释。 Smalldatetime
以四个字节存储,datetime
以8个字节存储。
出于您的目的,它们可能同样有用。差异是可以表示的范围和准确性。在这两种情况下,准确度远远低于一天,因此可以用于存储大多数用途的日期。