1

我一直在从事一个项目,我必须从 MS-Access 数据库中获取数据。我正在使用 mdb-sql 工具在该数据库中运行 sql 查询。但是当我尝试将 where 子句放在日期时间列上时,就会出现问题。它总是抛出一个语法错误。

请帮助我如何在 where 列中使用日期。我试过使用这些查询 -

SELECT * FROM table1 WHERE checkintime > '04/22/13 12:15:39'

SELECT * FROM table1 WHERE checkintime > #04/22/13 12:15:39#
4

2 回答 2

2

mdb-sql 在结果中显示人类可读的日期,但在查询中需要时间戳值——计算为 1970 年 1 月 1 日正弦的秒数(UNIX 纪元的开始)。

因此,提取日期大于 04/22/13 12:15:39 的所有记录的正确查询将是:

SELECT * FROM table1 WHERE checkintime > 1366650939

从命令行计算它的一种简单方法是:

 date --date='04/22/13 12:15:39' +"%s"
于 2017-07-25T00:04:10.280 回答
1

您可以使用 MS Access:格式功能(带日期):

where Format([checkintime ],"yyyy-mm-dd hh:nn:ss")>='2013-04-22 12:15:39' 
于 2017-02-17T11:51:24.860 回答