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

db2 中如何对日期类型字段进行分类汇总

发布网友 发布时间:2022-04-08 08:32

我来回答

4个回答

懂视网 时间:2022-04-08 12:54

OR REPLACE PROCEDURE DB2USER.RUN_PROCEDURE_BY_LOOP(IN begin_date VARCHAR(8),IN end_date VARCHAR(8)) /****************************************************************************** NAME: PURPOSE: REVISIONS: Ver Date Author Description --------- ---------- ------------ ------------------------------------ 1 20150825 ZEN 循环跑多天的数据 ******************************************************************************/ LANGUAGE SQL BEGIN DECLARE V_LOCATION VARCHAR(100); DECLARE V_START_TIME TIMESTAMP; DECLARE V_END_TIME TIMESTAMP; DECLARE V_SQLMSG VARCHAR(255); DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN GET DIAGNOSTICS EXCEPTION 1 V_SQLMSG = MESSAGE_TEXT; CALL DB2USER.PRO_LOG(TO_CHAR(V_START_TIME,‘YYYYMMDD‘),‘RUN_PROCEDURE_BY_LOOP‘,‘循环跑多天的数据‘,V_START_TIME,current timestamp,‘ERROR‘,V_LOCATION,V_SQLMSG); END; /*清空目标表*/ SET V_START_TIME = TO_DATE(begin_date,‘YYYYMMDD‘); SET V_END_TIME = TO_DATE(end_date,‘YYYYMMDD‘); SET V_LOCATION = ‘清空数据‘; time_loop: LOOP INSERT INTO Temp_TEST VALUES(V_START_TIME,TO_CHAR(V_START_TIME,‘YYYYMMDD‘)); --CALL DB2USER.PRO_S_CLM_PFM_DAY(TO_CHAR(V_START_TIME,‘YYYYMMDD‘)); SET V_START_TIME = V_START_TIME + 1 day ; IF (V_START_TIME > V_END_TIME) THEN LEAVE time_loop; END IF; END LOOP time_loop; COMMIT; --CALL DB2USER.PRO_LOG(TO_CHAR(V_START_TIME,‘YYYYMMDD‘),‘RUN_PROCEDURE_BY_LOOP‘,‘循环跑多天的数据‘,V_START_TIME,current timestamp,‘SUCCESS‘,‘‘,‘‘); END;

3.总结:

a.DB2中可以直接判断退出循环,如果被oracle的for循环惯坏了,想到这一点不太容易。

b.直接标签loop循环,设置退出方式,简单实用。

DB2中循环日期跑数据

标签:

热心网友 时间:2022-04-08 10:02

分类汇总使用SQL的GROUP BY,这些语句同样适用于DB2的日期字段。对日期汇总可能会太细化了一点,可以提取的年、月之后再进行汇总。 提取年月使用函数YEAR,MONTH。

热心网友 时间:2022-04-08 11:20

DATAFIELD 字段, 是 日期类型的字段? 还是 VARCHAR 的字段?

如果是日期类型的字段, SUBSTR(DATEFIELD,1,4) 就是 对一个日期类型的 字段,执行 字符串的函数。

如果 数据库 无法自动强制 数据类型的话, 那么就出错了。

DB2 好像是 支持 YEAR 函数的

SELECT YEAR(DATEFIELD), COUNT(*) FROM TABLE_A
WHERE ........
GROUP BY YEAR(DATAFIELD);

看看。

热心网友 时间:2022-04-08 12:54

写具体点啊

group by就可以分类汇总
如: group by YEAR(timestamp) 是按年分类汇总
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...啊?我从嘴里吐出去是直的算过肺了吗?我不会从鼻子里出去_百度... 恶心呕吐是什么? 高考数学大题应注意哪些问题呢? 高考数学可不可以用高等数学啊 高考数学 基础知识点 常见考查方式 高考数学考什么内容 一般纳税人如何交所得税 以前的QQ忘记密码了那时候不要了就不找回密码了,现在想找回来,但是又没... 常州机场坐飞机流程 常州机场大巴时刻表 ...我早上九点起飞的飞机, 然后我这的机场快线大巴到机场时70分钟,_百 ... 离婚了,没有离家,现在跟老公闹矛盾,我很后悔,想挽回他的心,请教我该怎么做 不知道手机 拦截短信功能要去哪里开通呢? 男人出轨后离婚不离家,怎么挽回男人回归? oppo手机拦截短信功能在哪里 请问茄子能在恒温库存放多久?能超过15天吗,我家这每年6月份茄子都很便宜,我想建个恒温库储存 茄子在保鲜库里能放多长时间 在哪个平台可以找到只单纯聊天的 主机电脑CMOS电池怎么取下来换 请问N4050笔记本更换CMOS电池后怎么设置? ios10.2正式版新增了哪些Emoji表情 ios10.2新增Emoji表情全面一览 电脑主板上的COMS电池如何更换 如何进行笔记本CMOS电池的更换 电脑里的CMOS电池应该怎样拆下来? 怎么更换cmos电池 DB2 数据库中关于时间的sql问题 信用卡单笔消费最高收取手续费是多少?还是手续费没有封顶的?就比如我再开店,客户买了1万,信用卡支付 赞丽生活里面的糖果怎么卖- 问一问 信用卡别人转帐多出1万元,我想转出为啥还要100元手续费呢。本卡不欠银行的? 信用卡刷卡1万手续费多少 赞丽生活里面的糖果怎么卖 一个出轨的女人,被离婚以后,真心悔改,怎样才能挽回老公的心 itunes可以连接iphone,但是不连接ipad 到营业厅能查到儿子的手机上网记录吗? 普通人去电信局能查到孩子的上网记录吗? 用华为手机拍照片有拍过几张拍完后,进入相册打开查看后,竟然出现图片过期或 华为手机怎么恢复视频和照片 生日买点啥菜 梦见突然知道母亲买了一套房子 梦见爸妈妈买了四房一厅的房子什么意思 梦见母亲偷偷买了房子,去看房子时每家都很好看,看到我们房子时只有一扇门,打开门后却是一遍森林,还有 梦见妈妈买了140平方的房子,如何解释? 拼多多买东西出问题客服不回话,打电话也不接怎么办? 拼多多后台电话怎么打不通?拼多多 拼多多客服电话95338? 火龙果冻怎么做 为什么我在发微博红包的时候,输入好金额后,系统提示加载中,却无法进入到下一步呢?(如图所示) 刷乘码怎样更改城市? 如何自做果冻? 怎么做火龙果果冻? 请问db2数据库怎样能回退到指定日期的数据?