【问题标题】:Different results from .mdb vs .odb, why?.mdb 与 .odb 的结果不同,为什么?
【发布时间】:2009-06-11 19:33:42
【问题描述】:

我使用以下查询通过 JDBC 从 .mdb 文件中检索数据,但是当我在 .odb 文件上尝试它时,它不会抛出任何异常,但根本没有结果。我想知道 .odb 是否区分大小写,而 .mdb 不区分大小写,或者我还缺少什么?

"SELECT DISTINCT column-one + ':' + column-two As ResultColumn FROM datatable;"

如何创建一个适用于这两种文件类型的语句?

【问题讨论】:

    标签: java sql jdbc


    【解决方案1】:

    它们会有所不同,因为它们是由两家不同公司编写的两种不同产品,并且程序员对如何处理事情做出了不同的选择。

    您是否尝试过使用您指定的列别名,也许比 Expr1000 更具描述性?

    SELECT DISTINCT column-one + ":" + column-two As Expr1000 FROM datatable
    

    这就是我在 SQL Server 中编写它的方式,检查你的数据库看看这是否可行。

    【讨论】:

    • 适用于 mdb 但不适用于 odb,并且已修改原始问题以反映这一点,谢谢。
    【解决方案2】:

    一些建议:

    1) 尝试使用单引号代替双引号,例如

    SELECT DISTINCT column-one + ':' + column-two As ResultColumn FROM datatable;
    

    2) .odb 源的 SQL 语法可能以不同的方式处理连接,例如使用 .mdb 时,“+”NULLs 将传播,这意味着如果至少有一个列的值为 NULL,则结果将为 NULL; '&' 连接符号将忽略 NULL 值,例如这在 .mdb 土地中

    SELECT DISTINCT column-one & ':' & column-two As ResultColumn FROM datatable;
    

    在标准 ANSI/ISO SQL-92 中等效(.mdb 领域不支持)

    SELECT DISTINCT COALESCE(column-one, '') + ':' + COALESCE(column-two, '') As ResultColumn FROM datatable;
    

    3) 如果两个源不支持相同的语法,您是否可以使用 .mdb 的链接表功能来链接 .mdb 中 .odb 源中的表,并且只使用 .mdb 中的 SQL 代码。数据库?

    【讨论】:

    • “&”令牌在 odb 土地中无法识别
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 2022-01-07
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多