如何从MS Access查询DB2时间戳值?

时间:2014-07-14 13:46:52

标签: ms-access db2

我在Access 2007中有一个链接的DB2表。字段" ROW_INSERT_TS"显示为日期/时间值,某些值看起来像这样(在Access中)

7/7/2014 2:39:25 PM
7/7/2014 2:36:04 PM
7/3/2014 12:18:25 PM

我试图找到所有值> = 7/3/2014,其中应包括以上所有3个。

我试过了:

WHERE (((MY_TABLE.ROW_INSERT_TS) >= '7/3/2014 0:00:00 AM'))

获得Data Type Mismatch错误

WHERE (((MY_TABLE.ROW_INSERT_TS) >= '7/3/2014'))

与上面相同

WHERE (((MY_TABLE.ROW_INSERT_TS) >= '2014-07-03'))

与上面相同

WHERE (((MY_TABLE.ROW_INSERT_TS) >= #7/3/2014 0:00:00 AM#))

获取' SQL0180N日期时间值的字符串表示的语法不正确'

WHERE (((MY_TABLE.ROW_INSERT_TS) >= #7/3/2014#))

与上面相同

我也尝试将日期格式更改为2014-07-03,但没有任何效果。

我通过编辑db2cli.ini文件并将PATCH值更改为8来阅读有关可能的修复方法,我将其编辑为包含PATCH1=8,但这并没有改变任何内容。

我还能尝试什么?

2 个答案:

答案 0 :(得分:1)

在MS Access中,Date()今天没有时间,Now()就是这一分钟。在大多数情况下,MS Access将接受:

 SELECT * FROM ThisTable WHERE ThisDateField > Date() + 15

即今天+ 15天。

答案 1 :(得分:0)

如果您将CLI设置MAPTIMESTAMPDESCRIBEMAPTIMESTAMPCDEFAULT更改为1,则日期和时间戳将映射到其CHAR()等效项和Access(或者DB2后端)将接受这些值。

然后您将使用以下格式:

日期 - YYYY-MM-DD

时间戳 - YYYY-MM-DD-hh.mm.ss.ssssss