我需要找到2日期和时间之间的数据。关于日期在数据库问题
我使用一个字段作为日期,一个字段使用时间。
使用日期只有一个字段&时间更好吗?
我看到它进来dd/mm/yyyy hh:mm:ss
格式
可以包含日期和时间。
这个问题是acceess和SQL服务器
感谢的提前
我需要找到2日期和时间之间的数据。关于日期在数据库问题
我使用一个字段作为日期,一个字段使用时间。
使用日期只有一个字段&时间更好吗?
我看到它进来dd/mm/yyyy hh:mm:ss
格式
可以包含日期和时间。
这个问题是acceess和SQL服务器
感谢的提前
在几乎所有情况下,日期和时间都需要在一起。 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)是有效的日期。
获取日期时间字段的不同部分非常容易,因此将日期时间存储为单个字段,因为无论如何,这就是您将要获得的内容。
取决于需求。如果您使用的是sql server 2008+
,那么如果您单独存储并不是问题,那么写入查询同样简单。
我喜欢单独存储日期和时间。一般来说,我几乎从不需要时间在我的应用程序。我将它们分开存储的一种情况是在我的一些日志程序中。这主要是因为我只查询日期,从不查询日期+时间。
如果您需要在日期和时间上进行查询,那么单独存储它们确实存在问题,因为您必须连接两个字段进行比较,这意味着您的条件不会在两个字段中使用任何索引。这对于数千条记录来说可能不是问题,但对于任何以上的记录来说,它可能很快成为相当的性能拖累。如果您使用服务器后端,这也是一个主要问题,因为所有的行都必须通过线路进行连接,而不是Access/Jet/ACE能够将选择交给服务器。
更容易编写仅限日期的查询。如果你不需要时间,为什么要存储它? – JeffO 2010-09-17 16:47:48