繁体   English   中英

如何在ODBC中为MS Access转换SQL查询

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM