我在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
,但这并没有改变任何内容。
我还能尝试什么?
答案 0 :(得分:1)
在MS Access中,Date()今天没有时间,Now()就是这一分钟。在大多数情况下,MS Access将接受:
SELECT * FROM ThisTable WHERE ThisDateField > Date() + 15
即今天+ 15天。
答案 1 :(得分:0)
如果您将CLI设置MAPTIMESTAMPDESCRIBE
和MAPTIMESTAMPCDEFAULT
更改为1
,则日期和时间戳将映射到其CHAR()
等效项和Access(或者DB2后端)将接受这些值。
然后您将使用以下格式:
日期 - YYYY-MM-DD
时间戳 - YYYY-MM-DD-hh.mm.ss.ssssss