java - JDBC SQL Server 连接不返回任何结果

标签 java mysql sql-server jdbc

我正在将当前在 MYSQL 下运行的应用程序转换为使用 SQL Server。结果是,我遇到了奇怪的情况!现有查询通过 JDBC 在 MySQL 中工作,并在 MySQL 中作为命令行查询工作——然而,相同的查询不能通过 SQL Server JDBC 驱动程序工作,尽管在 SQL Server studio 中从命令行作为查询工作。

在 MYSQL JDBC 下我得到一组结果,在 SQL Server JDBC 下我得到 0 个结果。

我已经尝试过这种方式的查询(它可以从命令行在 SQL Server 中运行)

SELECT DISTINCT
    x,
    y
FROM
    table1,
    table2
WHERE
    x = y
AND start_date <= '2015-05-15'
AND end_date >= '2015-05-15'
AND direction LIKE 'Direction';

JDBC 内部如下所示:

"select DISTINCT x, y from table1, table2" +
                        "WHERE x=y and start_date <= ? and end_date >= ? and direction like ?"

最佳答案

答案是 SQL Server 需要用 % % 分隔“like”。如本例所示:

Using "like" wildcard in prepared statement

我们的代码与 MySQL 驱动程序一起工作得很好,但是驱动程序在这方面明显不同。我简化了这篇文章,以防其他人遇到这个问题,并找到这篇文章。

关于java - JDBC SQL Server 连接不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30235800/

相关文章:

asp.net - 获取 1 到 7 和 7-10 条记录

java - DataLine 和(输出|输入)Stream 之间的区别?

Java 递归删除格式中的内容

Javadoc doclet : Get "@Nullable" annotation (javax). 如何在 doclet 中获取该注释?

mysql - 根据先前的选择结果优化选择行

SQL : How to query selecting only first row in every hour?

java - 通过 Java 停止 Mac OS 上正在运行的应用程序

mysql - 在两个表中存储标签和级别,需要获取作为列返回的级别的标签

php - PDO 对象的问题

sql - 将Word文档插入SQL Server