下面是需求内容及实现:

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

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

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

一、判断是否月初

使用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. BigDecimal类(精度计算类)的加减乘除
  2. 这款 IDE 插件再次升级,让「小程序云」的开发部署提速 8 倍
  3. 向json对象中添加数组
  4. Spark广播变量使用示例
  5. Spring中Bean创建完成后执行指定代码的几种实现方式
  6. 由动态分配和静态分配的数据在内存组成区别
  7. 线段树空间容纳且最上边的数(单点更新)
  8. .Net Core功能开关实战
  9. CF1446F-Line Distance【计算几何,树状数组,二分】
  10. django模型的继承
  11. 数据结构-树1-概念
  12. SQL Server智能提示插件下载
  13. 算法图解笔记(附PDF下载地址)
  14. 分类变量——卡方检验
  15. CSP/CCF计算机职业资格认证题目:[201903-1 小中大]【已解决】
  16. 快速掌握SOLIDWORKS齿轮转动的应用
  17. 快牙网传——推送通知
  18. 配置thinkphp路由,隐藏index.php
  19. Python编程零基础如何逆袭成为爬虫实战高手
  20. 【navicat】navicat数据连接存放位置

热门文章

  1. 钢琴音源 Native Instruments Definitive Piano Collection
  2. 设计一个巴特沃斯低通滤波器
  3. 目前微型计算机硬件主要采用,目前使用的微型计算机硬件主要采用的电子器件是()。 A. 真空管 B. 晶体管 C. 大规模和超大规模集成电路...
  4. matlab sa函数的傅里叶变换,通信第三章常见函数的傅里叶变换.ppt
  5. 运行VS2008提示找不到一个或多个组件,请重新安装该应用程序错误的解决方法V
  6. 携手网易打造世界杯主题房 YUNIK HOTEL玩转兴趣社交新场景
  7. 【laravel】切换语言包 中文,英文
  8. 肯辛通VeriMark指纹识别器 驱动下载 与 安装指南(含视频教程) 型号:K67977 K64704 K62330
  9. 弱电工程行业管理软件
  10. mac/macbook teamviewer 使用 trackpad 触控板双指滑动出问题/出bug/无法控制/无法滚动/速度过快