当前位置: 首页>編程日記>正文

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

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。


https://www.fengoutiyan.com/post/14877.html

相关文章:

  • 怎样让日报表随日期变动
  • 怎么设置报表自动日期
  • 斑马进度计划日期怎么改不了
  • 怎么设置每月固定日期提醒
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機