高斯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

相关文章

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

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

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

MySQL追踪数据库表更新操作来源的全面指南

《MySQL追踪数据库表更新操作来源的全面指南》本文将以一个具体问题为例,如何监测哪个IP来源对数据库表statistics_test进行了UPDATE操作,文内探讨了多种方法,并提供了详细的代码... 目录引言1. 为什么需要监控数据库更新操作2. 方法1:启用数据库审计日志(1)mysql/mariad

postgresql数据库基本操作及命令详解

《postgresql数据库基本操作及命令详解》本文介绍了PostgreSQL数据库的基础操作,包括连接、创建、查看数据库,表的增删改查、索引管理、备份恢复及退出命令,适用于数据库管理和开发实践,感兴... 目录1. 连接 PostgreSQL 数据库2. 创建数据库3. 查看当前数据库4. 查看所有数据库