栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

识别丢失的时间-找到时间间隔

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

识别丢失的时间-找到时间间隔

要创建缺少时间的列表/表格,请执行以下操作:

  • 生成现有表的最小值/最大值之间的所有小时数的列表。
  • 要使用Snowflake生成该列表,您将需要使用会话变量(因为生成器仅采用常量作为长度。
  • 然后使用左联接查找丢失的小时数,查找空值。

使用变量找出开始时间和总小时数:

set (min_hour, total_hours) = (    select min(datehour) min_hour        , timestampdiff('hour', min(datehour), max(datehour)) total_hours    from stored_hours);

然后对所有小时数的生成表进行左连接,以查找丢失的小时数:

select generated_hour missing_hourfrom ( -- generated hours    select timestampadd('hour', row_number() over(order by 0), $min_hour) generated_hour    from table(generator(rowcount => $total_hours))) aleft outer join stored_hours bon generated_hour=b.datehourwhere datehour is null;

结果是缺少时间的列表:

(如果输入的是日期,则可以对丢失的日期应用类似的技术)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/668648.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号