ORACLE中查询时间点前后一分钟的数据

2024-12-30 14:35:57
推荐回答(2个)
回答1:

SELECT

表.*
FROM
表,
(
-- 这个子查询, 用于查询大于2012年09月01日 01点00分00秒,并且最小的时间datestart
SELECT
MIN( datestart ) AS datestart
FROM 表
WHERE datestart > TO_DATE( '2012090101', 'YYYYMMDDHH24' )
) MinDate
WHERE
-- datestart前后一分钟
表.datestart BETWEEN (MinDate.datestart - 1/24/60) AND (MinDate.datestart + 1/24/60)

-- 前面相同
-- datestart前后15分钟

表.datestart BETWEEN (MinDate.datestart - 15/24/60) AND (MinDate.datestart + 15/24/60)

-- 前面相同
-- datestart前后30分钟
表.datestart BETWEEN (MinDate.datestart - 30/24/60) AND (MinDate.datestart + 30/24/60)

-- 前面相同
-- datestart前后45分钟
表.datestart BETWEEN (MinDate.datestart - 45/24/60) AND (MinDate.datestart + 45/24/60)

回答2:

你还是列举几条数据吧
并且把你想要的结果也最好做个简单的图出来,太抽象了