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

相关文章

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

Java读取InfluxDB数据库的方法详解

《Java读取InfluxDB数据库的方法详解》本文介绍基于Java语言,读取InfluxDB数据库的方法,包括读取InfluxDB的所有数据库,以及指定数据库中的measurement、field、... 首先,创建一个Java项目,用于撰写代码。接下来,配置所需要的依赖;这里我们就选择可用于与Infl

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二