我正在将当前在 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/