高斯DWS数据库根据数据业务时间以及指标周期判断是否滞后

本文主要是介绍高斯DWS数据库根据数据业务时间以及指标周期判断是否滞后,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

在判断指标更新是否及时的过程中,需要根据指标的更新周期和更新时间判断指标更新是否及时,业务更新周期分别有每日、每小时、实时、每天、每月、每季度、每半年、每年、不定期、不更新等,代码中最细粒度只到天维度,小时级和分钟级不统计;

代码

case when ysjgxzq = '每日' or ysjgxzq = '每小时' or ysjgxzq = '实时' then case   when  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$') then if(timestampdiff(day,sbsj,  ywsj_update) < -1,'滞后','正常') -- yyyy-mm-dd hh:mm:sswhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$') then if(timestampdiff(day,sbsj,  ywsj_update) < -1,'滞后','正常')-- yyyy-mm-dd hh:mmwhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2}$')then if(timestampdiff(day,sbsj,  ywsj_update) < -1,'滞后','正常')  -- yyyy-mm-ddwhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}$') then  if(ywsj_update <> sbsj ,'滞后','正常') -- yyyy-mm when  REGEXP_LIKE(ywsj_update, '^[0-9]{4}$') then '格式不合规' -- yyyy else '格式不合规' end when ysjgxzq = '每月' then case   when  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$') then if(timestampdiff(day,sbsj,  ywsj_update) < -31,'滞后','正常') -- yyyy-mm-dd hh:mm:sswhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$') then if(timestampdiff(day,sbsj,  ywsj_update) < -31,'滞后','正常')-- yyyy-mm-dd hh:mmwhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2}$')then if(timestampdiff(day,sbsj,  ywsj_update) < -31,'滞后','正常')  -- yyyy-mm-ddwhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}$') then if((substring(sbsj,1,4) -  substring(ywsj_update,1,4))* 12 + (substring(sbsj,6,2) - substring(ywsj_update,6,2)  ) > 1,'滞后','正常')-- yyyy-mm when  REGEXP_LIKE(ywsj_update, '^[0-9]{4}$') then '格式不合规' -- yyyy else '格式不合规' end when ysjgxzq = '每季度' then case   when  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$') then if(timestampdiff(day,sbsj,  ywsj_update) < -(31)*3,'滞后','正常') -- yyyy-mm-dd hh:mm:sswhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$') then if(timestampdiff(day,sbsj,  ywsj_update) < -(31)*3,'滞后','正常')-- yyyy-mm-dd hh:mmwhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2}$')then if(timestampdiff(day,sbsj,  ywsj_update) < -(31)*3,'滞后','正常')  -- yyyy-mm-ddwhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}$') then if((substring(sbsj,1,4) -  substring(ywsj_update,1,4))* 12 + (substring(sbsj,6,2) - substring(ywsj_update,6,2)  ) > -(31)*3,'滞后','正常')-- yyyy-mm when  REGEXP_LIKE(ywsj_update, '^[0-9]{4}$') then '格式不合规' -- yyyy else '格式不合规' end when ysjgxzq = '每半年' then case   when  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$') then if(timestampdiff(day,sbsj,  ywsj_update) < -(31)*6,'滞后','正常') -- yyyy-mm-dd hh:mm:sswhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$') then if(timestampdiff(day,sbsj,  ywsj_update) < -(31)*6,'滞后','正常')-- yyyy-mm-dd hh:mmwhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2}$')then if(timestampdiff(day,sbsj,  ywsj_update) < -(31)*6,'滞后','正常')  -- yyyy-mm-ddwhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}$') then if((substring(sbsj,1,4) -  substring(ywsj_update,1,4))* 12 + (substring(sbsj,6,2) - substring(ywsj_update,6,2)  ) > -(31)*3,'滞后','正常')-- yyyy-mm when  REGEXP_LIKE(ywsj_update, '^[0-9]{4}$') then if(substr(sbsj,0,4) - ywsj_update > 1 ,'滞后','正常')  -- yyyy else '格式不合规' end  when ysjgxzq = '每年' then case   when  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$') then if(timestampdiff(day,sbsj,  ywsj_update) < -(31)*12,'????','????') -- yyyy-mm-dd hh:mm:sswhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$') then if(timestampdiff(day,sbsj,  ywsj_update) < -(31)*12,'滞后','正常')-- yyyy-mm-dd hh:mmwhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}-[0-9]{2}$')then if(timestampdiff(day,sbsj,  ywsj_update) < -(31)*12,'滞后','正常')  -- yyyy-mm-ddwhen  REGEXP_LIKE(ywsj_update, '^[0-9]{4}-[0-9]{2}$') then if((substring(sbsj,1,4) -  substring(ywsj_update,1,4))* 12 + (substring(sbsj,6,2) - substring(ywsj_update,6,2)  ) > -(31)*3,'滞后','正常')-- yyyy-mm when  REGEXP_LIKE(ywsj_update, '^[0-9]{4}$') then if(substr(sbsj,0,4) - ywsj_update > 1 ,'滞后','正常')  -- yyyy else '格式不合规' end when ysjgxzq = '不定时' then if(ywsj_update = '格式不合规',ywsj_update,'正常')when ysjgxzq = '不更新' then if(ywsj_update = '格式不合规',ywsj_update,'正常')else '格式不合规' end  check_result

这篇关于高斯DWS数据库根据数据业务时间以及指标周期判断是否滞后的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/898039

相关文章

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

go中的时间处理过程

《go中的时间处理过程》:本文主要介绍go中的时间处理过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 获取当前时间2 获取当前时间戳3 获取当前时间的字符串格式4 相互转化4.1 时间戳转时间字符串 (int64 > string)4.2 时间字符串转时间

解读GC日志中的各项指标用法

《解读GC日志中的各项指标用法》:本文主要介绍GC日志中的各项指标用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基础 GC 日志格式(以 G1 为例)1. Minor GC 日志2. Full GC 日志二、关键指标解析1. GC 类型与触发原因2. 堆