2010-09-17 57 views
1

我需要找到2日期和时间之间的数据。关于日期在数据库问题

我使用一个字段作为日期,一个字段使用时间。

使用日期只有一个字段&时间更好吗?

我看到它进来dd/mm/yyyy hh:mm:ss格式

可以包含日期和时间。

这个问题是acceess和SQL服务器

感谢的提前

回答

1

在几乎所有情况下,日期和时间都需要在一起。 Access和SQL服务器都有日期/时间数据类型。在Access中,即使您将格式指定为时间,也可以显示日期。这是因为所有的日期时间数据被存储为一个数字,并且时间是小数部分:

说我存储数据:10时31分46秒,我可以键入在即时窗口示出日期时间的存储线,像所以:

?CDec(DlookUp("TimeFormattedField", "Test")) 
0.438726851851852 

?Year(DlookUp("TimeFormattedField", "Test")) 
1899 

?Format(dlookup("F4", "Table2"),"dd/mm/yyyy") 
30/12/1899 

这是因为零(0)是有效的日期。

获取日期时间字段的不同部分非常容易,因此将日期时间存储为单个字段,因为无论如何,这就是您将要获得的内容。

0

取决于需求。如果您使用的是sql server 2008+,那么如果您单独存储并不是问题,那么写入查询同样简单。

+0

更容易编写仅限日期的查询。如果你不需要时间,为什么要存储它? – JeffO 2010-09-17 16:47:48

1

我喜欢单独存储日期和时间。一般来说,我几乎从不需要时间在我的应用程序。我将它们分开存储的一种情况是在我的一些日志程序中。这主要是因为我只查询日期,从不查询日期+时间。

如果您需要在日期和时间上进行查询,那么单独存储它们确实存在问题,因为您必须连接两个字段进行比较,这意味着您的条件不会在两个字段中使用任何索引。这对于数千条记录来说可能不是问题,但对于任何以上的记录来说,它可能很快成为相当的性能拖累。如果您使用服务器后端,这也是一个主要问题,因为所有的行都必须通过线路进行连接,而不是Access/Jet/ACE能够将选择交给服务器。