.mdb与.odb的结果不同,为什么?

时间:2009-06-11 19:33:42

标签: java sql jdbc

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:1)

一些建议:

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

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

2)也许.odb源的SQL语法处理串联不同,例如使用.mdb,'+'NULL将传播,这意味着如果列的值中至少有一个是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代码。 MDB?