java和sql生成时间维度数据

JAVA:
POM依赖:
 

        <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.4.2</version></dependency>

代码:

package com.kone.kcdp.common;import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import org.apache.logging.log4j.core.lookup.JmxRuntimeInputArgumentsLookup;import java.util.List;public class DateGenerator {private static final String DATE_STD_FORMAT = "yyyy-MM-dd";private static final String DATE_TRIM_FORMAT = "yyyyMMdd";private static final String DATE_CN_FORMAT = "yyyy年M月d日";private static final String MONTH_STD_FORMAT = "yyyy-MM";private static final String MONTH_TRIM_FORMAT = "yyyyMM";private static final String MONTH_CN_FORMAT = "yyyy年M月";private static final String YEAR_STD_FORMAT = "yyyy";private static final String YEAR_CN_FORMAT = "yyyy年";public static void dateTemplate() {List<DateTime> dateTimes = DateUtil.rangeToList(DateUtil.date(963843260000l), DateUtil.date(), DateField.DAY_OF_MONTH);dateTimes.forEach(dateTime -> {//日String dateStd = DateUtil.format(dateTime, DATE_STD_FORMAT);String dateTrim = DateUtil.format(dateTime, DATE_TRIM_FORMAT);String dateCn = DateUtil.format(dateTime, DATE_CN_FORMAT);String beginOfDay = DateUtil.beginOfDay(dateTime).toString();String endOfDay = DateUtil.endOfDay(dateTime).toString();int age = DateUtil.ageOfNow(dateTime);//周int weekOfMonth = DateUtil.weekOfMonth(dateTime);int weekOfYear = DateUtil.weekOfYear(dateTime);int dayOfWeek = DateUtil.dayOfWeek(dateTime);String week = DateUtil.dayOfWeekEnum(dateTime).toString();String beginDateOfWeek = DateUtil.format(DateUtil.beginOfWeek(dateTime), DATE_STD_FORMAT);String endDateOfWeek = DateUtil.format(DateUtil.endOfWeek(dateTime), DATE_STD_FORMAT);//月String monthStd = DateUtil.format(dateTime, MONTH_STD_FORMAT);String monthTrim = DateUtil.format(dateTime, MONTH_TRIM_FORMAT);String monthCn = DateUtil.format(dateTime, MONTH_CN_FORMAT);String monthEn = DateUtil.monthEnum(dateTime).toString();String beginDateOfMonth = DateUtil.format(DateUtil.beginOfMonth(dateTime), DATE_STD_FORMAT);String endDateOfMonth = DateUtil.format(DateUtil.endOfMonth(dateTime), DATE_STD_FORMAT);//季度String quarterId = DateUtil.yearAndQuarter(dateTime);int quarterNum = DateUtil.quarter(dateTime);String quarterEn = DateUtil.quarterEnum(dateTime).toString();String quarterCn;String quarterYearCn = quarterId.substring(0, 4) + "年第" + quarterId.substring(4, 5) + "季度";String quarterYearEn = quarterId.substring(0, 4) + " " + quarterEn;switch (quarterEn) {case "Q1":quarterCn = "第一季度";break;case "Q2":quarterCn = "第二季度";break;case "Q3":quarterCn = "第三季度";break;default:quarterCn = "第四季度";break;}String beginDateOfQuarter = DateUtil.format(DateUtil.beginOfQuarter(dateTime), DATE_STD_FORMAT);String endDateOfQuarter = DateUtil.format(DateUtil.endOfQuarter(dateTime), DATE_STD_FORMAT);//年String yearStd = DateUtil.format(dateTime, YEAR_STD_FORMAT);String yearCn = DateUtil.format(dateTime, YEAR_CN_FORMAT);String chineseZodiac = DateUtil.getChineseZodiac(Integer.parseInt(yearStd));String beginDateOfYear = DateUtil.format(DateUtil.beginOfYear(dateTime), DATE_STD_FORMAT);String endDateOfYear = DateUtil.format(DateUtil.endOfYear(dateTime), DATE_STD_FORMAT);});}
}

SQL:


-- CREATE EXTERNAL TABLE `dim.dim_date_base`(
--   `nature_date` string COMMENT '自然日期', 
--   `dim_date` bigint COMMENT '维度日期', 
--   `year` int COMMENT '年', 
--   `month` int COMMENT '月', 
--   `week` int COMMENT '周', 
--   `week_start` string COMMENT '周开始', 
--   `week_end` string COMMENT '周结束', 
--   `week_of_year` int COMMENT '周所属年', 
--   `month_start` string COMMENT '月开始', 
--   `month_end` string COMMENT '月结束', 
--   `is_last_day_of_month` int COMMENT '是否是最后天所属月', 
--   `month_date_cnt` int COMMENT '月日期总数', 
--   `day_of_month` int COMMENT '天所属月', 
--   `day_of_year` int COMMENT '天所属年', 
--   `is_week_end` int COMMENT '是否是周结束', 
--   `quarter` int COMMENT '所属季度')
-- COMMENT '日期域'WITHDateArray AS (SELECTsequence(to_date('2000-01-01', 'yyyy-MM-dd'),to_date('2100-12-31', 'yyyy-MM-dd'),interval 1 day) AS dateArray)insert into table dim.dim_date_baseSELECTdateLog `date` , CAST(regexp_replace(dateLog, '-', '') AS INT) dt,YEAR(dateLog) AS `year`,MONTH(dateLog) AS `month`,DAYOFWEEK(date_add(dateLog,-1)) AS `week`,date_add(dateLog,(DAYOFWEEK(dateLog-1)-1)*-1) week_begin_date ,date_add(dateLog, 7-DAYOFWEEK(dateLog-1) ) week_end_date ,WEEKOFYEAR(dateLog)  week_of_year,concat(substr(dateLog,0,8),'01')  month_begin_date,last_day(dateLog)  month_end_date,if(dateLog=last_day(dateLog),1,0) is_last_day_of_month ,day(last_day(dateLog)) month_date_cnt ,day(dateLog) day_of_month ,dayofyear(dateLog) day_of_year,if( DAYOFWEEK(dateLog) in(1,7),1,0) is_week_end,quarter(dateLog) `quarter`
FROM(SELECTexplode(dateArray) AS dateLogFROMDateArray) t

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/58352.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对1GHz脉冲多普勒雷达进行快速和慢速处理生成5个移动目标的距离多普勒图研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

软考:中级软件设计师:大数据

软考&#xff1a;中级软件设计师:大数据 提示&#xff1a;系列被面试官问的问题&#xff0c;我自己当时不会&#xff0c;所以下来自己复盘一下&#xff0c;认真学习和总结&#xff0c;以应对未来更多的可能性 关于互联网大厂的笔试面试&#xff0c;都是需要细心准备的 &#x…

uniapp项目实战系列(1):导入数据库,启动后端服务,开启代码托管

目录 前言前期准备1.数据库的导入2.运行后端服务2.1数据库的后端配置2.2后端服务下载依赖&#xff0c;第三方库2.3启动后端服务 3.开启gitcode代码托管 ✨ 原创不易&#xff0c;还希望各位大佬支持一下&#xff01; &#x1f44d; 点赞&#xff0c;你的认可是我创作的动力&…

8.28~~和学长的谈话

对于大二&#xff0c;我还想问问学长有什么建议&#xff1f; 熟练掌握一到两门开发语言&#xff0c;选好专业的重点学习方向&#xff0c;开始全面了解工程实践方面&#xff0c;10个以上工程开发&#xff0c;可自行规划二年级&#xff0c;着重加强基础技能的学习和提升&#xf…

MySQL索引、事务、事务与存储引擎

目录 1、索引 1.1 索引的概念 1.2 索引的作用 1.3 索引的副作用 1.4 创建索引的规则 1.5 索引的分类和创建 1.5.1 普通索引 1.5…

加油站【贪心算法】

加油站 在一条环路上有 n 个加油站&#xff0c;其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车&#xff0c;从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发&#xff0c;开始时油箱为空。 给定两个整数数组 gas 和…

2023Gartner报告权威解读:AIOps智能运维发展前景预测

本文部分内容摘选自报告&#xff0c;如有问题&#xff0c;请联系进行删改 近期&#xff0c;Gartner发布了《Hype Cycle for ICT in China&#xff0c;2023》技术成熟度曲线报告&#xff0c;该报告经过大量调查&#xff0c;对中国企业IT现状、企业CIO需求等进行深入的分析&…

SOLIDWORKS中多实体文件到装配体的转换技巧

我们在做机械等工程设计中&#xff0c;有时为了节省时间&#xff0c;需要把多实体的“零件”&#xff0c;直接转换为装配体&#xff0c;不再另外装配&#xff0c;这样能大大简化设计的操作时间&#xff0c;复杂程度。 在这里&#xff0c;我们首先要了解&#xff0c;SOLIDWORKS文…

深度学习10:Attention 机制

目录 Attention 的本质是什么 Attention 的3大优点 Attention 的原理 Attention 的 N 种类型 Attention 的本质是什么 Attention&#xff08;注意力&#xff09;机制如果浅层的理解&#xff0c;跟他的名字非常匹配。他的核心逻辑就是「从关注全部到关注重点」。 Attention…

redis全套参数配置及降级解决方案

文章目录 redis高可用核心参数配置1.Lettuce2.Jedis3.Redisson4.其他客户端 redis降级场景简介一、业务背景二、设计方案三、实现方案四、总结 redis高可用核心参数配置 1.Lettuce 提示&#xff1a;该客户端无主动探活机制&#xff0c;只能依赖于 OS KeepaAlive 机制&#xf…

vue3之reactive和ref学习篇

<script lang"ts" setup> // reactive参数必须为引用类型 和ref简单类型或者引用类型 import { reactive, ref } from vue; const arr reactive([10]) const count ref(0); let increasing true; console.log(count) const change ()>{if(increasing){c…

Mybatis与Spring集成

目录 一.Spring整合Mybatis 1.什么是Spring整合Mybatis 新建一个ssm ​编辑 导入pom依赖 导入generatorConfig.xml 导入Spring-context.xml文件 导入Spring-mybatis.xml文件 自动生成Bookmapper.xml和Bookmapper文件 编写接口类&#xff1a;Bookbiz 编写接口实现类 …

SAP_ABAP_OO_ALV案例

SAP ABAP顾问能力模型梳理_企业数字化建设者的博客-CSDN博客SAP Abap顾问能力模型https://blog.csdn.net/java_zhong1990/article/details/132469977 一、OO_ ALV ,面向对象开发ALV报表 基于对收款清账平台的开发&#xff0c;解释 OO_ALV开发的程序结构与代码模板参考 1.1 代…

openGauss和oracle的上下翻命令和自动补全

openGauss的gsql需要加参数“-r”才能支持上下翻命令和自动补全。 gsql -d postgres -p 15400 -r oracle的sqlplus也不支持上下翻命令和自动补全。 使用rlwrap可以实现上下翻命令&#xff0c;但是还是不能实现自动补全功能。 1、安装rlwrap&#xff0c;使oracle支持上下翻滚 …

Ubuntu 22.04 通过 Docker 启动 Graylog

安装 Docker 和 Docker-Compose 这里以 Ubuntu 22.04 举例&#xff0c;如果你和我的系统一样&#xff0c;那么可以照抄下面这个命令来快速安装 docker。如果不是&#xff0c;你也可以 点击这里 来跳转到 Docker 官网来实现安装。 #!/bin/bash apt-get update apt-get -y inst…

搭建vue项目环境之二(完成基础环境的搭建之后开始正式安装)

由于工作太忙了&#xff0c;一直都是东奔西跑的&#xff0c;好多知识都是零散的&#xff0c;最近刚好有空&#xff0c;就计划利用这个空闲时间认真的整理以前学过的知识&#xff0c;帮助自己回顾过往&#xff0c;中间也难免有很多错误&#xff0c;欢迎指正挑刺。一直以来都是万…

【单片机】有人WH-LTE-7S1 4G cat1 模块连接服务器,教程,记录

文章目录 4G cat1 模块封装引脚名称功能拓扑图串口模块调试WH-LTE-7S1 4G cat1 模块 我买的这个模块内置了电信卡&#xff0c;不用插电话卡就能用&#xff0c;要插也行&#xff0c;在背面。 ⚫ 5-16V 宽电压供电 ⚫ LTE Cat 1&#xff0c;搭载 4G 网络&#xff0c;低时延&…

继承AndroidView Model的错误

ViewModelProvider(this)[RegisterViewModel::class.java] 一行简单的代码&#xff0c;总是报这个错误 Caused by: java.lang.NoSuchMethodException: com.xinfa.registerlogin.viewmodel.LoginViewModel. [class android.app.Application] 经过一下午的思索&#xff0c;终于找…

RocketMQ mqadmin java springboot python 调用笔记

命令 mqadmin命令列表 yeqiangyeqiang-MS-7B23:/opt/rocketmq-all-5.1.3-bin-release$ sh bin/mqadmin The most commonly used mqadmin commands are:updateTopic Update or create topicdeleteTopic Delete topic from broker and NameServer.…

Java集合sort排序报错UnsupportedOperationException处理

文章目录 报错场景排查解决UnmodifiableList类介绍 报错场景 我们使用的是PostgreSQL数据库&#xff0c;存储业务数据&#xff0c;业务代码使用的是Spring JPA我们做的是智慧交通信控平台&#xff0c;有个功能是查询展示区域的交通态势&#xff0c;需要按照不同维度排序展示区…