我正在尝试编写一个通过 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;
不知道这是否有效(没有访问权限来确认),但请尝试这里的建议:
- http://weblogs.sqlteam.com/jeffs/archive/2007/04/13/format-date-sql-server.aspx http://weblogs.sqlteam.com/jeffs/archive/2007/04/13/format-date-sql-server.aspx
这是使用:
DATEDIFF(second, '1 Jan 1970', tbl.LastChangeDate)
这是来自一些评论。
编辑:请参阅 Remou 的评论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)