我有一个奇怪的问题,我不完全确定它在哪里。我有一个简单的嵌套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 workbench中运行此查询时,我返回了2行。但是当我将此查询放在mybatis映射文件中时,不会返回任何行。我通过启用java.sql调试并在selectList方法之前放置断点来排除代码中的某些内容。我得到的输出如下:
2014-10-26 18:21:20,420 |调试| [java.sql.Connection] | ==&GT; 准备:SELECT * FROM事件WHERE(e_start_date_and_time&gt; =?AND e_end_date_and_time&lt; =&gt;?)AND(e_name LIKE?或e_description LIKE?或e_location LIKE?)2014-10-26? 18:21:20,726 | DEBUG |
[java.sql.PreparedStatement] | ==&GT;参数:2014-09-11 20:16:00.0(时间戳),2014-09-12 20:16:00.0(时间戳),&#34;某些消息&#34;(字符串),&#34;某些消息&#34;(字符串),&#34;某些消息&#34;(字符串)
有谁知道为什么会这样?
答案 0 :(得分:0)
试试这个:
e_name LIKE '%Some message%'
OR e_description LIKE '%Some message%'
OR e_location LIKE '%Some message%'