[英]How to convert sql query for MS Access in ODBC
这是下面给出的表格图像
我的查询如下
$ DB2-> query(“ SELECT CHECKINOUT.USERID,USERINFO.CardNo from CHECKINOUT内部加入CHECKKINOUT.USERID上的USERINFO = USERINFO.USERID在'$ start_date'和'$ tommorow'和USERINFO.CardNo <> NULL之间检查的时间)
我想在ODBC中进行查询,如下所示
$ DB2-> query(“ SELECT CHECKINOUT.USERID,USERINFO.CardNo来自CHECKINOUT内部联接USERINFO ON CHECKINOUT.USERID = USERINFO.USERID格式(CHECKTIME,'dd / mm / yyyy')在'$ start_date'和'$ tommorow之间'AND USERINFO.CardNo <> NULL“)
但是ODBC查询并不是完美的,它包含了所有日期数据和日期差数据。
如何在ODBC FOR MS ACCESS数据库中进行完美查询。
请给我任何解决方案。
SELECT CHECKINOUT.USERID,USERINFO.CardNo FROM CHECKINOUT
INNER JOIN USERINFO ON CHECKINOUT.USERID = USERINFO.USERID
WHERE CHECKTIME
BETWEEN #$start_date# AND #$tommorow# AND USERINFO.CardNo <> NULL
从您的屏幕图像中我看到CHECKTIME是日期时间数据类型。 如果要将查询发送到MS-Access,则日期必须用井号(#)而不是单引号引起来。 您无需将其格式化为字符串,除非另外指定,否则使用日期的默认值为午夜(00:00)。
最好的解决方案是将该查询粘贴到MS-Access查询设计器中,并确保它可以为您提供预期的结果。 如果失败,请在MS-Access设计器中创建查询,然后查看它返回的SQL格式。
请注意,如果您说要在开始日期和明天之间进行设置,例如在2014年5月6日00:00到2014年5月7日00:00之间。 因此,这取决于您所说的“明天”(一天的开始或一天的结束)的含义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.