使用:db:HSQLDB,jdbctemplate。
我创建了表格:
<SELECTED_DATE ID="1" DATE_VALUE="2018-02-02 00:00:00.000000"/>
<SELECTED_DATE ID="2" DATE_VALUE="2018-02-03 00:00:00.000000"/>
<SELECTED_DATE ID="3" DATE_VALUE="2018-02-04 00:00:00.000000"/>
<SELECTED_DATE ID="4" DATE_VALUE="2018-02-05 00:00:00.000000"/>
<SELECTED_DATE ID="5" DATE_VALUE="2018-02-07 00:00:00.000000"/>
<SELECTED_DATE ID="6" DATE_VALUE="2018-02-08 00:00:00.000000"/>
如何使用select * from SELECTED_DATE where DATE_VALUE in ( '2018-02-08', ... );
这会导致错误:java.sql.SQLSyntaxErrorException: data type of expression is not boolean
或select * from SELECTED_DATE where DATE_VALUE IN ELEMENTS('2018-02-08', ...);
这会导致错误:java.sql.SQLSyntaxErrorException: unexpected token: ELEMENTS required: (
但是select * from SELECTED_DATE where DATE_VALUE = ( '2018-02-08');
这样的工作
答案 0 :(得分:0)
您的日期列实际上是TIMESTAMP列。
对于IN谓词,您需要声明值的类型:
select * from SELECTED_DATE where DATE_VALUE in ( DATE'2018-02-02', DATE'2018-02-03');
以上作品。如果您的SELECT语句仍然有效,请报告完整的声明。