下面是需求内容及实现:

今天同事想设置个跑批任务,要求是每月月初及每周五、周六跑,其他实间不跑。
①:这需要判断是否是月初
②:判断是否是周五、周六

两个条件只要满足一个即跑批。

首先我是设置的每天都跑该工作流,然后在线上进行判断是否满足两个条件。

一、判断是否月初

使用TRUNC函数实现

TRUNC(sysdate,'MM') = $启动.StartTime

二、判断是否周五、周六

该处首先有个参考,我们可以以否个后续不使用的时间作为参照,进行换算;判断差值是否为7天,这里我以 ‘2021-03-07’ 周日为参照。使用DATE_DIFF函数计算差值天数,MOD函数取余,来判断是星期几;因为是以周日为参照,所以取余后等于5就是星期五、等于6就是星期六。

MOD(DATE_DIFF(to_date(to_char($启动.StartTime,'YYYY-MM-DD'),'YYYY-MM-DD'),to_date('2021-03-07','yyyy-mm-dd'),'DAY'),7) = 5 or MOD(DATE_DIFF(to_date(to_char($启动.StartTime,'YYYY-MM-DD'),'YYYY-MM-DD'),to_date('2021-03-07','yyyy-mm-dd'),'DAY'),7) = 6

此处附整个判断:

MOD(DATE_DIFF(to_date(to_char($启动.StartTime,'YYYY-MM-DD'),'YYYY-MM-DD'),to_date('2021-03-07','yyyy-mm-dd'),'DAY'),7) = 5 or MOD(DATE_DIFF(to_date(to_char($启动.StartTime,'YYYY-MM-DD'),'YYYY-MM-DD'),to_date('2021-03-07','yyyy-mm-dd'),'DAY'),7) = 6 or TRUNC(sysdate,'MM') = $启动.StartTime

INFA 字典函数用法:

TRUNC

将日期截断为特定年份、月份、日、小时、分种、秒、毫秒或微秒。 也可使用 TRUNC 截断数字。 可截断以下日期部分: 年份。如果截断日期的年份部分,则函数返回输入年份 1 月 1 日,将时间设定为 00:00:00.000000000。例如,以下表达式返回 1/1/1997 00:00:00.000000000: TRUNC(12/1/1997 3:10:15, 'YY') 月份。如果截断日期的月份部分,则函数返回月份的第一天,将时间设定为 00:00:00.000000000。例如,以下表达式返回 4/1/1997 00:00:00.000000000: TRUNC(4/15/1997 12:15:00, 'MM') 日。如果截断日期的日部分,则函数返回将时间设定为 00:00:00.000000000 的日期。例如,以下表达式返回 6/13/1997 00:00:00.000000000: TRUNC(6/13/1997 2:30:45, 'DD')小时。如果截断日期的小时部分,则函数返回将分钟、秒数和子秒设定为 0 的日期。 例如,以下表达式返回 4/1/1997 11:00:00.000000000: TRUNC(4/1/1997 11:29:35, 'HH') 分钟。如果截断日期的分钟部分,则函数返回将秒数和子秒设定为 0 的日期。 例如,以下表达式返回 5/22/1997 10:15:00.000000000: TRUNC(5/22/1997 10:15:29, 'MI') 秒。如果截断日期的秒数部分,则函数返回将毫秒设定为 0 的日期。 例如,以下表达式返回 5/22/1997 10:15:29.000000000: TRUNC(5/22/1997 10:15:29.135, 'SS')毫秒。如果截断日期的毫秒部分,则函数返回将微秒设定为 0 的日期。 例如,以下表达式返回 5/22/1997 10:15:30.135000000: TRUNC(5/22/1997 10:15:30.135235, 'MS') 微秒。如果截断日期的微秒部分,则函数返回将纳秒设定为 0 的日期。 例如,以下表达式返回 5/22/1997 10:15:30.135235000: TRUNC(5/22/1997 10:15:29.135235478, 'US')

语法

TRUNC( date [,format] )

下表介绍了此命令的参数:

参数 必需/ 可选 说明
date 必需 Date/Time 数据类型。 要截断的日期值。 可输入任何有效的转换表达式以计算日期。
格式 可选 输入有效的格式字符串。 格式字符串不区分大小写。 如果忽略格式字符串,则函数截断日期的时间部分,将其设置为 00:00:00.000000000。

返回值

日期。

传递至函数的值为 NULL 时返回 NULL。

DATE_DIFF

返回两个日期之间的时间长度。可请求采用年份、月份、日、小时、分钟、秒数、毫秒、微秒或纳秒格式。 PowerCenter 集成服务从第一个日期中减去第二个日期,返回差异。 PowerCenter 集成服务根据月数而不是天数计算 DATE_DIFF 函数。 它为每个月选定天数的部分月份计算日期差异。 为了计算部分月份的日期差异,PowerCenter 集成服务将该月中所用天数相加。 然后,将相加所得值除以选定月份的总天数。 对于闰年和平年中的相同期限,PowerCenter 集成服务提供不同的值。 当二月是 DATE_DIFF 函数的一部分时,就会出现差异。 对于闰年的二月,DATE_DIFF 将所用天数除以 29,对于平年的二月,则除以 28。 例如,您想要计算从 9 月 13 日至 2 月 19 日之间的月数。 在闰年,DATE_DIFF 函数将二月计算为 19/29 个月,或 0.655 个月。 在平年,DATE_DIFF 函数将二月计算为 19/28 个月,或 0.678 个月。 PowerCenter 集成服务以相似方式计算剩余月份中的日期差异,DATE_DIFF 函数返回指定期限的总值。 注: 某些数据库可能使用不同的算法计算日期差异。

语法

DATE_DIFF( date1, date2, format )

下表介绍了此命令的参数:

参数 必需 / 可选 说明
date1 必需 Date/Time 数据类型。 传递要比较的第一个日期的值。 可输入任何有效的转换表达式。
date2 必需 Date/Time 数据类型。 传递要比较的第二个日期的值。 可输入任何有效的转换表达式。
格式 必需 指定日期或时间度量的格式字符串。 可指定年份、月份、日、小时、分钟、秒数、毫秒、微秒或纳秒。 只能指定日期的一个部分,例如,‘mm’。 用单引号将格式字符串括起来。 格式字符串不区分大小写。 例如,格式字符串 ‘mm’ 与 ‘MM’、‘Mm’ 或 'mM’相同。

返回值

双精度值。 如果 date1 晚于 date2,则返回值为正数。 如果 date1 早于 date2,则返回值为负数。

日期相同时返回 0。

其中一个(或两个)日期值为 NULL 时返回 NULL。

MOD

返回除法计算的余数。例如,MOD(8,5) 返回 3。

语法

MOD( numeric_value, divisor )

下表介绍了此命令的参数:

参数 必需 / 可选 说明
numeric_value 必需 数值数据类型。 要除以的值。 可输入任何有效的转换表达式。
除数 必需 要除以的数值。 除数不能为 0。

返回值

要传递至函数的数据类型的数值。 数值除以除数后的余数。
传递至函数的值为 NULL 时返回 NULL。

Informatic中如何设置每月初,和每周五、周六跑批相关推荐

  1. 【中亦安图】清算/报表/日终跑批程序之性能优化案例(5)

    第一章 技术人生系列 · 我和数据中心的故事(第五期)-清算/报表/日终跑批程序之性能优化案例(一) 中亦安图 | 2016-02-18 21:40 前言 不知不觉,技术人生系列·我和数据中心的故事来 ...

  2. cad打印样式ctb丢失_CAD制图软件中如何设置CAD打印样式表(CTB)?

    在浩辰CAD制图软件中绘制完成图纸后经常需要将其打印出来,一般情况下是用CAD打印样式表来控制打印输出效果,最主要的是输出颜色和线宽,当然还包括其他一些细节效果.有些CAD制图初学入门者不知道如何设置 ...

  3. 在Java程序设计中,设置环境变量path和classpath的作用分别是什么?

    在Java程序设计中,设置环境变量path和classpath的作用分别是什么? asd79308 10级  分类: 编程开发  被浏览344次  2013.07.22 额,你这问题问的有够" ...

  4. Vue中动态设置页面title

    前言 更多内容,请访问我的 个人博客. 安装依赖 npm install vue-wechat-title --save 复制代码 在mian.js中引入 //设置title import VueWe ...

  5. edittext 监听无效_Android中EditText 设置 imeOptions 无效问题的解决方法

    有时候我们需要在EditText  输出完之后 需要在键盘出现 右下角变成"Go"或"前往 搜索时:通常我们需要设置Android:imeOptions属性.Androi ...

  6. 微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法

    微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法 参考文章: (1)微信小程序首页index.js获取不到app.js中动态设置的globalDat ...

  7. python怎么输入代码-python中如何设置代码自动提示

    第一步:打开pycharm,如下图所示: 第二步:File→Power Save Mode,把下面如图所示的勾去掉: 第三步:去掉勾后,不再使用省电模式,新建一个 python文件,输入需要输入的单词 ...

  8. hwclock设置日期_linux中时间设置date、hwclock、clock

    Windows时钟大家可能十分熟悉了,Linux时钟在概念上类似Windows时钟显示当前系统时间,但在时钟分类和设置上却和Windows大相径庭.和Windows不同的是,Linux将时钟分为系统时 ...

  9. CE5.0 - eboot汇编Startup.s中MMU设置流程详细分析

    CE5.0 - eboot汇编Startup.s中MMU设置流程详细分析   以下为SMDK开发板startup.s部分启动代码.   ;------------------------------- ...

  10. 文本编辑器中实现设置工具栏和状态栏可见性的功能

    文章目录 1 文本编辑器中实现设置工具栏和状态栏可见性的功能 1 文本编辑器中实现设置工具栏和状态栏可见性的功能 实现思路如下: 通过setVisible()设置可见性. 更新界面上QAction对象 ...

最新文章

  1. JAVA帮助文档全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版下载
  2. OLAP是什么意思?
  3. cordova开发中,android端利用百度sdk定位。
  4. jdbc查看网络状态
  5. 向MPEG创始人Leonardo Chiariglione提问
  6. noip2017考前整理(未完)
  7. 采用开源软件搭建WebGIS系统(6)数据格式
  8. C++ 4 种具有更 为准确语义的新强制转换类型
  9. 组合数学引论部分习题答案
  10. 帧传送、关联与身份验证状态
  11. Ubuntu20安装向日葵
  12. 雷赛acc68c说明书_深圳雷赛科技有限公司官网 雷赛智能公司怎么样 雷赛运动控制卡教程 雷赛步进电机说明书 雷赛m542c说明书 雷赛智能官网...
  13. ArcGIS Zonal Statistics as Table 工具报错解决
  14. rtorrent ubuntu端命令行种子下载器
  15. unity2D动画-角色切片与2DAnimation插件做动画
  16. 2023浙江工商大学计算机考研信息汇总
  17. 2018年春招实习面试经验总结
  18. 数学界再出变态神人!竟用一个比基尼方程,暴力吊打美国数学家!看完我惊了......
  19. Matlab 统计不同元素个数
  20. 不用充电的监控摄像头有哪几种供电方式

热门文章

  1. 2013职称计算机幻灯片题库,2013职称计算机考试题库宝典及答案解析(全).doc
  2. 微信抽奖助手网络或服务器错误,微信抽奖助手怎样运用 抽奖助手运用办法
  3. 神舟七号飞船应用计算机进行飞行状态属于,“神舟七号”飞船应用计算机进行飞行状态调整属于()。...
  4. 磁共振成像原理-物理基础2(质子在外部磁场的情况)
  5. 如何关闭开启硬件加速
  6. 应用中安装第三方apk的两种方法:利用Intent跳转安装页面、利用PackageInstaller静默安装
  7. keil生成bin文件
  8. 漂浮广告代码、漂浮代码分析(讲解)
  9. 问答社区php源码,cpf开源SNS问答社区源码 php版 v0.7.1
  10. 使用 flowplayer 播放视频