在MS-Access中使用Datetime插入SQL命令

时间:2009-04-21 09:48:01

标签: ms-access ms-access-2007

我在MS-Access 2007中尝试以下查询,但在时间字段上失败。

INSERT INTO LOG (
    EMPLOYEECODE, STATUSID, LOCATIONID, TIME, DURATION,
    SHIFTID, LATECOMING, EARLYGOING, LOGDATE, STATIONID
)
VALUES (
    1, 1, 0, '4/21/2009 2:25:53 PM', 0, 
    8, 0, 1, '1/1/2009', 1
)

TIME字段定义为日期时间。

没有TIME字段,查询工作正常!

我尝试了很多不同的东西,例如将日期时间括在哈希值,引号等中。但是,查询在时间字段上仍然失败。


谢谢你们!这几乎让我完全在那里。我仍然一直在为insert语句获取语法错误,但是在进一步的谷歌搜索中,我意识到TIME可能是一个保留关键字,所以把它放在方括号上[TIME]工作了!

1 个答案:

答案 0 :(得分:21)

日期&访问中的时间输入使用,因为访问不能在SQL查询中自动从char / text转换为日期或时间(或访问调用它查询),并且最好使用国际标准输入日期时间 YYYY-MM-DD HH:NN:SS (4位数年份,2位数月份,2位数日期,2位数小时,2位数分钟,2位数秒)

所以 4/21/2009 2:25:53 PM 使用#2009-04-21 14:25:53#

或者如果仍然失败,您可以使用#'2009-04-21 14:25:53'#

编辑:如果您启用ANSI 92或使用ADO / OLEDB作为数据库接口,则上面可能正常工作,感谢David指出

我建议您使用YYYY-MM-DD HH:NN:SS格式并在使用之前使用单引号(')尝试#就像我上面说的那样