【发布时间】:2016-03-25 06:57:59
【问题描述】:
startD 是日期,endD 是日期,类型是字符串
String sqlStatement = "SELECT Booking.* FROM Booking INNER JOIN Room USING (RoomID) BETWEEN " + startD + ", " + endD+ " AND RoomSize = " + type;
这是我的错误:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BETWEEN 2016-03-01, 2016-03-01 AND RoomSize = Medium' at line 1
【问题讨论】:
-
我有点困惑,你想做什么?检查 RoomID 是否在两个日期之间?我想你的意思可能类似于
WHERE booking.date BETWEEN...。 -
我的意思是用户选择了2个日期;开始D 和结束D。 sql 语句返回一个结果集,其中结果介于用户输入的日期之间,而 RoomSize 等于用户指定的大小。
-
是的,但是预订日期存储在哪里?您永远不会说数据库中的哪个字段应该在两个日期之间。
-
感谢您的意见。我的表不包含该列。我的表基于一个预订系统,其中我有一个 startDate 和 endDate 列。这些列代表房间预订的持续时间。另外,我没有日期列,因为包含它没有意义,对吧?