Informatic中如何设置每月初,和每周五、周六跑批
下面是需求内容及实现:
今天同事想设置个跑批任务,要求是每月月初及每周五、周六跑,其他实间不跑。
①:这需要判断是否是月初
②:判断是否是周五、周六
两个条件只要满足一个即跑批。
首先我是设置的每天都跑该工作流,然后在线上进行判断是否满足两个条件。
一、判断是否月初
使用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中如何设置每月初,和每周五、周六跑批相关推荐
- 【中亦安图】清算/报表/日终跑批程序之性能优化案例(5)
第一章 技术人生系列 · 我和数据中心的故事(第五期)-清算/报表/日终跑批程序之性能优化案例(一) 中亦安图 | 2016-02-18 21:40 前言 不知不觉,技术人生系列·我和数据中心的故事来 ...
- cad打印样式ctb丢失_CAD制图软件中如何设置CAD打印样式表(CTB)?
在浩辰CAD制图软件中绘制完成图纸后经常需要将其打印出来,一般情况下是用CAD打印样式表来控制打印输出效果,最主要的是输出颜色和线宽,当然还包括其他一些细节效果.有些CAD制图初学入门者不知道如何设置 ...
- 在Java程序设计中,设置环境变量path和classpath的作用分别是什么?
在Java程序设计中,设置环境变量path和classpath的作用分别是什么? asd79308 10级 分类: 编程开发 被浏览344次 2013.07.22 额,你这问题问的有够" ...
- Vue中动态设置页面title
前言 更多内容,请访问我的 个人博客. 安装依赖 npm install vue-wechat-title --save 复制代码 在mian.js中引入 //设置title import VueWe ...
- edittext 监听无效_Android中EditText 设置 imeOptions 无效问题的解决方法
有时候我们需要在EditText 输出完之后 需要在键盘出现 右下角变成"Go"或"前往 搜索时:通常我们需要设置Android:imeOptions属性.Androi ...
- 微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法
微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法 参考文章: (1)微信小程序首页index.js获取不到app.js中动态设置的globalDat ...
- python怎么输入代码-python中如何设置代码自动提示
第一步:打开pycharm,如下图所示: 第二步:File→Power Save Mode,把下面如图所示的勾去掉: 第三步:去掉勾后,不再使用省电模式,新建一个 python文件,输入需要输入的单词 ...
- hwclock设置日期_linux中时间设置date、hwclock、clock
Windows时钟大家可能十分熟悉了,Linux时钟在概念上类似Windows时钟显示当前系统时间,但在时钟分类和设置上却和Windows大相径庭.和Windows不同的是,Linux将时钟分为系统时 ...
- CE5.0 - eboot汇编Startup.s中MMU设置流程详细分析
CE5.0 - eboot汇编Startup.s中MMU设置流程详细分析 以下为SMDK开发板startup.s部分启动代码. ;------------------------------- ...
- 文本编辑器中实现设置工具栏和状态栏可见性的功能
文章目录 1 文本编辑器中实现设置工具栏和状态栏可见性的功能 1 文本编辑器中实现设置工具栏和状态栏可见性的功能 实现思路如下: 通过setVisible()设置可见性. 更新界面上QAction对象 ...
最新文章
- BigDecimal类(精度计算类)的加减乘除
- 这款 IDE 插件再次升级,让「小程序云」的开发部署提速 8 倍
- 向json对象中添加数组
- Spark广播变量使用示例
- Spring中Bean创建完成后执行指定代码的几种实现方式
- 由动态分配和静态分配的数据在内存组成区别
- 线段树空间容纳且最上边的数(单点更新)
- .Net Core功能开关实战
- CF1446F-Line Distance【计算几何,树状数组,二分】
- django模型的继承
- 数据结构-树1-概念
- SQL Server智能提示插件下载
- 算法图解笔记(附PDF下载地址)
- 分类变量——卡方检验
- CSP/CCF计算机职业资格认证题目:[201903-1	小中大]【已解决】
- 快速掌握SOLIDWORKS齿轮转动的应用
- 快牙网传——推送通知
- 配置thinkphp路由,隐藏index.php
- Python编程零基础如何逆袭成为爬虫实战高手
- 【navicat】navicat数据连接存放位置
热门文章
- 钢琴音源 Native Instruments Definitive Piano Collection
- 设计一个巴特沃斯低通滤波器
- 目前微型计算机硬件主要采用,目前使用的微型计算机硬件主要采用的电子器件是()。 A. 真空管 B. 晶体管 C. 大规模和超大规模集成电路...
- matlab sa函数的傅里叶变换,通信第三章常见函数的傅里叶变换.ppt
- 运行VS2008提示找不到一个或多个组件,请重新安装该应用程序错误的解决方法V
- 携手网易打造世界杯主题房 YUNIK HOTEL玩转兴趣社交新场景
- 【laravel】切换语言包 中文,英文
- 肯辛通VeriMark指纹识别器 驱动下载 与 安装指南(含视频教程) 型号:K67977 K64704 K62330
- 弱电工程行业管理软件
- mac/macbook teamviewer 使用 trackpad 触控板双指滑动出问题/出bug/无法控制/无法滚动/速度过快