我需要在2个日期和时间之间找到数据。
我使用一个字段表示日期,使用一个字段表示时间。
最好只使用一个字段来表示日期和时间。时间?
我发现它以dd/mm/yyyy hh:mm:ss
格式出现
可以包含日期和时间。
这个问题适用于acceess和sql-server
提前谢谢
答案 0 :(得分:1)
几乎在所有情况下,都需要日期和时间。 Access和SQL Server都具有日期/时间数据类型。在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)是有效日期。
获取日期时间字段的不同部分非常容易,因此将日期时间存储为单个字段,因为无论如何这都是您要获得的。
答案 1 :(得分:1)
我喜欢分开存储日期和时间。一般来说,我的应用程序几乎不需要时间。我将它们分开存储的一种情况是在我的一些日志记录例程中。这主要是因为我只查询日期而不是日期+时间。
如果您需要同时查询日期和时间,那么单独存储它们确实存在问题,因为您必须连接两个字段进行比较,这意味着您的条件不会使用这两个字段上的任何索引。对于几千条记录来说,这可能不是一个问题,但对于任何高于此的记录,它很快就会成为一种性能拖累。如果您使用的是服务器后端,这也是一个主要问题,因为所有行都必须通过线路连接,而不是Access / Jet / ACE能够将选择权移交给服务器。
答案 2 :(得分:0)
取决于要求。如果您使用的是sql server 2008+
,那么如果您单独存储不是问题,那么编写查询也很容易;