问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle查询一个月固定时刻的数据

发布网友 发布时间:2022-04-23 21:47

我来回答

3个回答

热心网友 时间:2023-07-06 11:28

-- 2个字段
-- 处理日期时间, 处理结果。
CREATE TABLE temp(
process_date DATE,
result_val INT
);

-- 测试数据
-- 计划是查询 每天的 12:00 的数据
-- 主要的测试数据,在 6月3日-6月5日 期间
-- 6月3日的数据,为一个当日 小于 12:00 的数据。
-- 6月4日的数据,为一个当日 大于 12:00 的数据。
-- 6月5日的数据,为两个当日 大于/小于 12:00 的数据。
-- 6月6日的数据,为多个当日 随便填写的 数据。
INSERT INTO temp
SELECT TO_DATE('2011-06-01 12:00:00', 'YYYY-MM-DD HH24:MI:SS'), 100 FROM al UNION ALL
SELECT TO_DATE('2011-06-02 12:00:00', 'YYYY-MM-DD HH24:MI:SS'), 100 FROM al UNION ALL
SELECT TO_DATE('2011-06-03 06:00:00', 'YYYY-MM-DD HH24:MI:SS'), 106 FROM al UNION ALL
SELECT TO_DATE('2011-06-04 18:00:00', 'YYYY-MM-DD HH24:MI:SS'), 118 FROM al UNION ALL
SELECT TO_DATE('2011-06-05 11:00:00', 'YYYY-MM-DD HH24:MI:SS'), 111 FROM al UNION ALL
SELECT TO_DATE('2011-06-05 12:59:59', 'YYYY-MM-DD HH24:MI:SS'), 113 FROM al UNION ALL
SELECT TO_DATE('2011-06-06 10:00:00', 'YYYY-MM-DD HH24:MI:SS'), 210 FROM al UNION ALL
SELECT TO_DATE('2011-06-06 11:00:05', 'YYYY-MM-DD HH24:MI:SS'), 211 FROM al UNION ALL
SELECT TO_DATE('2011-06-06 13:00:00', 'YYYY-MM-DD HH24:MI:SS'), 213 FROM al UNION ALL
SELECT TO_DATE('2011-06-06 15:00:00', 'YYYY-MM-DD HH24:MI:SS'), 215 FROM al;

ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';

SELECT
process_date,
result_val
FROM
(
SELECT
process_date,
result_val,
MIN(process_date)
KEEP (DENSE_RANK FIRST ORDER BY ABS((process_date - (TRUNC(process_date) + 1/2))) )
OVER (PARTITION BY TO_CHAR(process_date, 'YYYY-MM-DD')) AS "最接近12点的时间"
FROM
temp
) myTmp
WHERE
myTmp.process_date = myTmp."最接近12点的时间"

PROCESS_DATE RESULT_VAL
------------------- ----------
2011-06-01 12:00:00 100
2011-06-02 12:00:00 100
2011-06-03 06:00:00 106
2011-06-04 18:00:00 118
2011-06-05 12:59:59 113
2011-06-06 11:00:05 211

已选择6行。

注:那个当天12:00的算法为
(TRUNC(process_date) + 1/2)
也就是把日期后面时分秒都清零,最后加上 1/2 天。也就是 12:00

热心网友 时间:2023-07-06 11:29

可以用触发器啊

热心网友 时间:2023-07-06 11:29

呃……好像之前回答过你另外的问题? = =!
几个问题不太清楚:
1、插入操作是怎么执行的?是SQL导入还是程序调用?
2、在做增删操作时,有没有查询之类的需求?
3、插入删除操作必须在一个事务里面吗?
4、表的总记录数有多少?

下班先回去了,要不明天你HI我吧。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我要问一下掇刀医保局恢复正常上班吗? 医保卡是东宝区的怎么才能转到掇刀区 东宝人社局 医保局 空调扇和风扇有什么区别 ...上了技校,现在上了电大的大专,档案在自己手里怎么办? 高职扩招的档案从哪里来 专科没有毕业档案怎么办 技校没上完考上专科,档案怎么转 凉薯和红薯有什么区别 凉薯和山药一样吗 我是一名教师 评职称发表论文 不知道网上哪些机构好点 具体? Oracle查询数据:查询当月的数据? oracle数据库 date时间类型查询昨天、前7天、前30天、前1年的数据,sq... 请问,大家oracle怎么查询指定日期到今日的数据啊 oracle 查询一段时间内每一天的统计数据sql怎么写 Oracle sql 查询时间在当天内的数据 怎么查询? oracle 如何查询在一个日期区间的中的数据? oracle 查询每天写入的数据 oracle如何取当天数据 oracle如何查询当天的数据! 英语手抄报图片简单又漂亮,关于中秋节和国庆节 怎样治疗近视眼 眼睛轻度近视怎么治疗 如何治疗近视眼,福州这边有吗? 我的女儿今年13岁,眼睛近视300度如何治疗能恢复到1.0的程度 当今手术,如何治疗近视眼? 如何应对单眼视力差? 我妈单眼近视一千度,常期用一只眼看东西,现在导致单眼斜视斜得很厉害。请问该怎么办吖,能治的好吗 怎么治疗近视眼 天天象棋122么过图解法视频 近视眼如何治? 在oracle中如何实现查询某一时间段的数据? oracle怎么查询上周的数据(例如今天是周日,我要查询出上个周一到周日... oracle 用SQL查询一个时间段每天的数据量 ORACLE查询前一天22点到今天22点的数据 ORACLE SQL 如何查询当前日期和下个月数据,用两列显示 Oracle查询昨天十二点到今天十二点的数据,查询语句怎么写? oracle按小时查询显示数据 oracle 如何查询30天以内的数据? 苹果手机下载农村一扫之后没有播报声 扫一下二维码怎么知道农产品的生长情况 我想知道怎么把apk文件弄成二维码,让人一扫描就能下载apk,然后安装 新农直通贷二维码怎么扫 cass影像裁剪选不中 农业掌上银行下载安装 ENVI中怎样使不同影像裁切出相同区域 spot7影像无法裁剪Arcgis 怎么下载农村合作医疗交费软件? 用mapgis进行区文件影像裁剪,裁剪后影像全部为黑色,原来影像全部为灰色。请问应该怎样解决? 影像剪切软件 倭化农作物的株高的农药有哪些,比如玉米谷子高梁等。请介绍一下使用方法及注意事项,谢谢!