【问题标题】:SQL between two timestamp两个时间戳之间的 SQL
【发布时间】:2018-06-14 03:14:51
【问题描述】:

我有 2 列的表格

CREATE TABLE booking_schedules (
  date_start    TIMESTAMP
  date_end      TIMESTAMP,
);

我需要在 date_start 和 TIMESTAMP+3 HOUR之间执行 SELECT * booking_schedules where TIMESTAMP(来自后端的参数) JPA 查询是

@Query(value = "select bs from BookingSchedule bs :chosenTime between bs.dateStart and :chosenTime1")
    List<BookingSchedule> findAllBookingSchedulesByDateBetweenDateStartAndDateEnd(@Param("chosenTime") Date chosenTime,@Param("chosenTime1") Date chosenTime1);

其中 chosenTime 是 TIMESTAMP,chosenTime1 是 TIMESTAMP + 3 HOUR
在这种情况下,Select 返回所有行。
所以麻烦(我认为)是将第二个参数设置为 TIMESTAMP+3 HOUR。有可能吗?如果是,那么如何?提前感谢您的回答。

【问题讨论】:

  • 我想知道 GENERATED SQL 是什么,JPA 提供程序用于该 JPQL ...也许在日志中查看它会告诉您更多信息
  • 看到的命令是什么?
  • 您选择了 JPA 提供程序。也许如果您查阅它的文档...

标签: java sql postgresql jpa spring-data-jpa


【解决方案1】:
SELECT * 
FROM booking_schedules 
WHERE TIMESTAMP_x between date_start and 
TIMESTAMP_x +
INTERVAL '3 hours' 

这应该可以正常工作

【讨论】:

    猜你喜欢
    • 2013-10-18
    • 2023-02-14
    • 1970-01-01
    • 2017-05-12
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多