为SQL插入递增日期

为SQL插入递增日期,sql,datetime,increment,Sql,Datetime,Increment,我正在更新服务器的登录和注销日志(我自己没有编写代码,而且我是SQL新手),有一个问题是,超过午夜的班次不会增加一天的时间(它会说有人在6月30日晚上11点登录,然后在6月30日凌晨3点注销)。由于所有轮班时间都少于4小时,我想如果注销时间早于登录时间,我可以将其设置为每天递增 我不知道如何发送多条语句,因此我想我可以只执行以下操作: INSERT INTO Reports (MemberId,StartTime,EndTime) VALUES (6000,'2013-10-23 23:05:0

我正在更新服务器的登录和注销日志(我自己没有编写代码,而且我是SQL新手),有一个问题是,超过午夜的班次不会增加一天的时间(它会说有人在6月30日晚上11点登录,然后在6月30日凌晨3点注销)。由于所有轮班时间都少于4小时,我想如果注销时间早于登录时间,我可以将其设置为每天递增

我不知道如何发送多条语句,因此我想我可以只执行以下操作:

INSERT INTO Reports (MemberId,StartTime,EndTime) VALUES (6000,'2013-10-23 23:05:00',(SELECT DATE_ADD('2013-10-23 00:08:00',INTERVAL 1 DAY));
(我主要是用C++来做的,所以日期/ ID号的值是在C++程序中确定的,然后打印成SUPUSTATE语句提交给数据库。上面是我现在正在用C++打印的语句的一个例子。不包括DATEYADD函数的语句工作正常,所以我知道不是。问题。)

当我尝试这样做时,我得到了一个“语法错误”语句。如果有任何可能的方法来避免它,我真的不喜欢重新构造C代码或提交多个SQL语句,因为我不知道原始程序员如何集成SQL和C++,以及他是如何向数据库提交语句的。 我很抱歉,如果这是不够的信息,我从来没有问过一个问题在这里之前

谢谢你的帮助!

你可以试试

INSERT INTO reports
    (memberId, starttime, endtime )
SELECT 
    6000, 
    '2013-10-23 23:05:00', 
    DATE_ADD('2013-10-23 00:08:00', INTERVAL 1 DAY) 

感谢您的回答!我尝试过使用您建议的select运算符,但我收到了一条“INSERT INTO语句中的语法错误”消息,我想是的。这都是通过microsoft access 2007发布的。很抱歉,我对数据库工作知之甚少。您能试着只做
select DATE\u ADD('2013-10-23 00:08:00',间隔1天)吗
若要查看是否没有错误?我收到以下消息:[Microsoft][ODBC Microsoft Access驱动程序]查询表达式“日期添加('2013-10-23 00:08:00',间隔1天)”中的语法错误(缺少运算符)