【发布时间】:2014-11-03 13:08:26
【问题描述】:
我有一个奇怪的问题,我不完全确定它在哪里。我有一个简单的嵌套 where 子句如下:
SELECT *
FROM events
WHERE
( e_start_date_and_time >= '2014-09-11 20:16:00.0'
AND e_end_date_and_time <= '2014-09-12 20:16:00.0'
)
AND
(
e_name LIKE "Some message"
OR e_description LIKE "Some message"
OR e_location LIKE "Some message"
)
当我在 mysql 工作台中运行此查询时,我得到 2 行返回。但是当我将此查询放入 mybatis 映射器文件时,不会返回任何行。通过打开 java.sql 调试并在 selectList 方法之前放置一个断点,我已经排除了我的代码中的某些内容。我得到的输出如下:
2014-10-26 18:21:20,420 |调试 | [java.sql.Connection] | ==> 准备: SELECT * FROM events WHERE (e_start_date_and_time >= ? AND e_end_date_and_time ?) AND (e_name LIKE ? OR e_description LIKE ? OR e_location LIKE ?) 2014-10-26 ? 18:21:20,726 |调试 |
[java.sql.PreparedStatement] | ==> 参数:2014-09-11 20:16:00.0(时间戳),2014-09-12 20:16:00.0(Timestamp), "Some message"(String), "Some message"(String), "Some message"(String)
有人知道为什么会这样吗?
【问题讨论】:
-
你能尝试用
'Some message'代替"Some message"吗? -
我还是有同样的问题。