1

我正在尝试为通过 ODBC 连接到 MySQL 数据库的 MS Access 2007 编写查询。一切正常,查询完成了我想要它做的事情。我挂断的部分是我一直在向用户询问 unix 纪元时间,而不是常规日期。

我查找了 MS Access 的一堆参考资料,虽然我可以在 SQL 调用中使用许多日期转换函数,但我找不到任何可以用来从普通日期转换的函数 -> unix 纪元日期.

我想要并且我认为这可行,是以一种更友好的方式(人类可读的日期)向用户询问日期,然后将其转换为 unix 纪元日期。现在我考虑了一下,我想我的另一个选择是在使用 SQL 查询提取它们之后转换数据库中的 unix 纪元日期,但如果可能的话,我宁愿转换用户的输入,因为这样的输入更少输入,所以我不必做太多的工作。

SELECT TOP 5 Count( * ) AS [Number of visits by language], login.lang AS [Language]
FROM login, reservations, reservation_users
WHERE (reservations.start_date Between [Starting unix epoch time] And [Ending unix epoch time]) And reservations.is_blackout=0 And reservation_users.memberid=login.memberid And reservation_users.resid=reservations.resid And reservation_users.invited=0
GROUP BY login.lang
ORDER BY Count( * ) DESC;
4

2 回答 2

3

不知道这是否可行(无权确认),但请尝试此处的建议:

这是使用:

    DATEDIFF(second, '1 Jan 1970', tbl.LastChangeDate)

这是来自一些评论。

编辑:请参阅 Remou 的评论。

于 2010-12-05T16:50:36.790 回答
0

使用 MS 2010 我发现这个工作: DateAdd("s",([epoch timestamp]-21600),#1/1/1970#)

http://www.pcreview.co.uk/forums/convert-epoch-date-t2324318.html

于 2012-01-05T13:11:10.460 回答