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

我在MS-Access 2007中尝试以下查询,但在时间字段上失败.
INSERT INTO LOG (
    EMPLOYEECODE,STATUSID,LOCATIONID,TIME,DURATION,SHIFTID,LATECOMING,EARLYGOING,LOGDATE,STATIONID
)
VALUES (
    1,1,'4/21/2009 2:25:53 PM',8,'1/1/2009',1
)

TIME字段被定义为datetime.

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

我已经尝试了许多不同的东西,例如将哈希,引号等的日期时间包围起来.但是,查询在时间字段上仍然失败.

感谢你们!几乎让我完全在那里我仍然不断收到insert语句的语法错误,但是随后进一步的搜索,我意识到TIME可能是一个保留的关键字,所以把它放在框方括号[TIME]的工作!

解决方法

日期&时间输入访问使用#,因为访问不能自动从char / text转换为日期或时间在SQL查询(或访问调用查询),并且您最好使用国际标准输入日期时间是YYYY-MM- DD HH:NN:SS(4位数年份,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格式,并在使用前尝试使用单引号(‘),就像我上面说的那样

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...