我正在将当前在MYSQL下运行的应用程序转换为使用SQL Server。结果是,我遇到了一个奇怪的情况!现有查询通过JDBC在MySQL中工作,并在MySQL中作为命令行查询工作--然而,尽管在SQL Server studio中从命令行作为查询工作,相同的查询通过SQL Server JDBC驱动程序却不能工作。
在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 ?"发布于 2015-05-14 22:05:38
答案是SQL Server需要用% %分隔“like”。如下例所示:
Using "like" wildcard in prepared statement
我们的代码与MySQL驱动程序一起工作得很好,但在这方面,驱动程序显然是不同的。我简化了这篇文章,以防其他人遇到这个问题,并找到了这篇文章。
https://stackoverflow.com/questions/30235800
复制相似问题