1

我已经阅读了这一点,但仍然无法理解。希望这里有人可以向我解释。我有一个查询,它为我的列分配了一个仅当前日期的值。但是我想知道我是否应该创建新列,DATETIME或者SMALLDATETIME我的查询是否像:

  Insert into table(col A)
  Select DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0) As ColA  
  from table B  

我想我的选择语句已经给了我没有时间的日期值。我怀疑Col A在我的数据库表中创建。我正在使用 Sql 2005。

更新:
所以我的 qns 是如何在我的 db 表中创建我的 A 列?我需要添加约束吗?首选哪种数据类型?

4

1 回答 1

3

SQL Server 2005 不支持该date数据类型。那将是您真正想要的数据类型。

smalldatetimedatetime都存储带有时间组件的日期。这些在SQL Server 文档中进行了解释。 Smalldatetime存储在四个字节datetime中,存储在 8 个字节中。

出于您的目的,它们可能同样有用。区别在于可以表示的范围和准确性。在这两种情况下,准确度都远低于一天,因此任何一种都适用于大多数用途的存储日期。

于 2013-01-04T03:02:33.407 回答