首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

教你用SQL生成一张带「农历」的日期维度表

所以我们可以把已经演算出来的具体农历制作成一张表,通过调用当前的日期来返回具体的农历。...DATEADD(DAY, 1, @START_DATE),120); END END 执行存储过程 EXEC proc_calendar 2019 结果如下: 我们去查了一下日历,验证结果是正确的 日期维度表作用...既然叫维度表,那肯定是跟维度有关了,有了这个维度表,我们可以通过多维数据集来查看不同日期维度的具体数据,特别是应用在可视化报表开发方面。...下面就是一个比较简单的Power BI报表,这里我们就使用到了日期维度表中的年月。...Power BI效果图 至此,一个包含农历的完整日期维度表就生成了,有兴趣的小伙伴可以用MySQL或Oracle进行改写一下。

23210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Oracle 数据库拾遗(二)

    这些函数都是为了方便 SQL 对数据进行进一步处理而设计的,其使用大大增强了 PL/SQL 语言的功能。函数可以接受零个或者多个输入参数,并返回一个输出结果。...本章介绍两类函数的使用,通过实例对 PL/SQL 中的单行函数和聚合函数的具体应用和功能进行详细讲解。...接下来我们主要介绍 PL/SQL 中的专用函数。 字符串函数 查找并替换字符串 字符串操作是 PL/SQL 中使用十分频繁的操作,常用的有字符串比较、返回字符串长度、查找和替换字符串等。...为方便用户对数据表中的字符串数据类型进行操作,PL/SQL 提供了大量的字符串操作函数。...(SDEPT) FROM student; 数字函数 使用 ROUND 函数确定精度 在许多数据表中都涉及实数,这就需要确定输出的精度: SELECT ROUND(AVG(SAGE), 3)

    1.6K10

    《数据仓库工具箱》- 第三章零售业务中的知识点汇总

    维度模型中的细节数据可以适应业务放比较随意的查询请求。 事务类型事实表 事物类型事实表通常一个事务一行,或者一个事务线一行。标示的是一个事务事件,比较稀疏,但是他的数量无法预测,可能会非常庞大。...在设计事务事实表初期,应该先估算一下最大表的情况,或者一个周期内的增量数量 日期日历维度 可以提前建立日期维度,预先存储10年或20年的日期信息,日期维度表中可包含日期,是否当天,所在周,月,年,...不在sql的日期函数或者应用中计算出这些信息的原因在于:首先如果关系型数据库不能很好的处理日期类型,那么就糟糕了;其次大多数优化器都能高效的处理多维查询,没必要对关联查询谈虎色变;并且类似节日这种信息,...在sql函数中是很难计算出来的。...如果新维度属性只在某些行中可以,那么在其他行应该插入不可用或类似的描述符。 * 新维度 * * 可在事实表上添加新维度,在事实表中添加新的外键列并将新维度的主键填写到该外键列上。

    91920

    oracle的操作

    /SQL PL/SQL是Oracle数据库对SQL语句的扩展,增加了编程语言的特点....数据操作和查询语句被包含在PL/SQL代码的过程性单元中,经过逻辑判断、循环等操作完成复杂的功能或者计算 2.PL/SQL的优点 使一组语句功能形成模块化程序开发 使用过程性语言控制程序结构 可以对程序中的错误进行处理...集成在数据库中 有助于提高程序性能 3.PL/SQL块的基本结构 DECLARE – 可选部分 变量、常量以及类型等 BEGIN – 必要部分 SQL语句 PL/SQL语句 EXCEPTION...COMMIT 或ROLLBACK 命令控制事务 通过EXECUTE IMMEDIATE,执行DDL和DCL语句 六,函数和存储过程 1,函数 函数用来执行复杂的计算,并返回计算的结果 语法结构...好处: 可以实现用简单的SQL语句不能实现的计算 提高查询的效率 使用规则: 只能使用函数,而不是过程 函数中不允许DML语句 形参必须为IN 必须返回Oracle支持数据类型,不能使用PL

    1.6K20

    基于时间维度水平拆分的多 TiDB 集群统一数据路由联邦查询技术的实践

    ,即按交易时间维度拆分为多个物理集群,不同集群可根据 SLA 等级对应不同的资源规格和副本数,并通过应用层的数据路由、联邦查询组件实现跨库背景下的 SQL 访问快速定位、结果集归并、路由策略管理等核心功能...配置信息会在应用启动时加载到 JVM 内存中,并通过版本信息来触发配置表变更时的热更新。...配置信息会在应用启动时加载到JVM内存中,并通过版本信息来触发配置表变更时的热更新。...第一段先通过请求参数中的业务类型、查询的日期范围,结合动态计算的每个集群当前的上下界时间,确定当前请求涉及的集群范围。...,执行前涉及 SQL 参数的改写(包括日期、分页,即业务参数到集群级物理参数的改写)、基于 ThreadLocal 切换数据源,并通过反射的方式执行实际的 SQL 方法。

    8010

    个人永久性免费-Excel催化剂功能第19波-Excel与Sqlserver零门槛交互-查询篇

    ,一个主题的数据分散到多个表内存储,底层表字段为英文名不友好,需要通过视图的方式,把同一主题的不同表进行反规范化关联起来,如订单数据,需关联订单主表+订单明细表+商品资料表+其他维度的资料扩展表(渠道、...给用户授权这个视图/表的访问权限 填写基础的数据信息 从IT数据库管理者拿到对应的基础信息进行填写。...填写好需查询的表/视图的基础信息 小技巧:使用复制行记录,可将选定行的信息复制到新行中,只需修改下表/视图名即可新增一条新的记录,一般数据库都较为固定,下次新增时只需填写好IT数据库管理者提供的表/视图名即可...条件查询语句,实现无需会写SQL一样可查询数据库 Excel自动筛选一般因数据类型分为三大类: 数字类 一般会用到大于、小于、不等于等条件对数据进行区间查询,要写两个并列条件,请使用自定义筛选 数据类的筛选...日期类的筛选 示例:筛选2007年11月的数据,注意前方的大于等于和小于的日期表示方式 日期筛选示例 通过Excel表的自动筛选功能,把所需的数据筛选出来 多个筛选条件下,数据为且的关系,可能出现无数据的情况

    2.4K20

    最强最全面的数仓建设规范指南(纯干货建议收藏)

    系统根据指标定义表达式以及数据源表生成原子指标SQL 派生指标: 在原子指标的基础之上选择了一些维度或者修饰限定词。...表的生命周期管理 这部分主要是要通过对历史数据的等级划分与对表类型的划分生成相应的生命周期管理矩阵。...通过上述历史数据等级划分与表类型划分,生成相应的生命周期管理矩阵,如下表所示: 三、数仓各层开发规范 1....2) 聚集的基本步骤 第一步:确定聚集维度 在原始明细模型中会存在多个描述事实的维度,如日期、商品类别、卖家等,这时候需要确定根据什么维度聚集,如果只关心商品的交易额情况,那么就可以根据商品维度聚集数据...通常会遇到需要补全维度的表,这里使用 dim 结尾。 如果要保留历史的中间表,可以加上日期或者时间戳。

    4.8K36

    ETL和数据建模

    3、缓慢变化维度第三种类型:新增数据维度成员改变了属性。...(五)创建事实表 在确定好事实数据和维度后,我们将考虑加载事实表。...通过固定的抽取,转换,加载到数据仓库中,即可很容易实现。 那么SQL呢?SQL事实上只是固定的脚本语言,但是执行效率高,速度快。不过灵活性不高,很难跨服务器整合数据。...此类表再近源模型层比技术缓冲层、源系统的相应表额外增加两个物理化处理字段START_DT(开始日期)和END_DT(结束日期),使用时需要先选定视觉日期,通过START_DT和END_DT去卡视觉日期,...近源模型层到整合模型层的数据流算法--以源日期字段自拉链算法: 此算法是源表中有日期字段标识当前记录的生效日期,本算法通过对同主键记录按这个生效日期排序后,一次首尾相连行形成一条自然拉链的算法。

    1.1K20

    存储过程和函数

    核心技能部分​ 5.1 子程序简介 子程序是指被命名的PL/SQL块,这种块可以带有参数,可以在不同应用中多次调用。PL/SQL有两种类型的子程序:过程和函数。...当指定参数数据类型时,不能指定其长度。RETURN子句用于指定函数返回值的数据类型,is或as用于开始一个PL/SQL块。...5.4 包 包 (Package)用于组合逻辑相关的 PL/SQL类型 (例如TABLE类型和 RECORD类型)、PL/SQL项 (例如游标和游标变量)和PL/SQL子程序 (例如过程和函数)。...Ø 包 (Package)用于组合逻辑相关的 PL/SQL类型 (例如TABLE类型和 RECORD类型)、PL/SQL项 (例如游标和游标变量)和PL/SQL子程序 (例如过程和函数)。...(2)定义公用过程proc_add_odd,根据输入的订单号、预订日期、客户号、交付日期、订单总价为​ ​ORD表增加订单。

    7410

    【DB笔试面试442】 Oracle的数据类型有哪些?

    可变数组(VARRAY)存储固定数量的元素(在运行中,可以改变元素数量),使用顺序数字作下标,可以定义等价的SQL类型,可以存储在数据库中。可以用SQL进行存储和检索,但比嵌套表缺乏灵活性。...如果处理单行单列的数据那么可以使用标量变量;如果处理单行多列数据那么可以使用PL/SQL记录;如果处理单列多行数据那么可以使用PL/SQL集合。...BOOLEAN数据类型用于定义布尔型(逻辑型)变量,其值只能为TRUE(真)、FALSE(假)或NULL(空)。需要注意的是,该数据类型是PL/SQL数据类型,不能应用于表列。...下图是在PL/SQL中可以使用的预定义类型。 ? 图 3-1 PL/SQL中可以使用的预定义类型 数据类型的作用在于指明存储数值时需要占据的内存空间大小和进行运算的依据。...DATE 日期型数据。DATE数据类型用于定义日期时间类型的数据,其数据长度为固定7个字节,分别描述年、月、日、时、分、秒。 LONG 可变长字符数据,最大可达到2G。

    1.6K10

    ETL工具算法构建企业级数据仓库五步法

    3、缓慢变化维度第三种类型:新增数据维度成员改变了属性。...(三)日志表的运用 在对数据进行处理时,难免会发生数据处理错误,产生出错信息,那么如何获得出错信息并及时修正呢?...通过固定的抽取,转换,加载到数据仓库中,即可很容易实现。 那么SQL呢?SQL事实上只是固定的脚本语言,但是执行效率高,速度快。不过灵活性不高,很难跨服务器整合数据。...此类表再近源模型层比技术缓冲层、源系统的相应表额外增加两个物理化处理字段START_DT(开始日期)和END_DT(结束日期),使用时需要先选定视觉日期,通过START_DT和END_DT去卡视觉日期,...近源模型层到整合模型层的数据流算法--以源日期字段自拉链算法 此算法是源表中有日期字段标识当前记录的生效日期,本算法通过对同主键记录按这个生效日期排序后,一次首尾相连行形成一条自然拉链的算法。

    1.1K11

    PLSQL --> 语言基础

    字符型 字符型用单引号括起 日期型 布尔型 TRUE、FALSE、NULL PL/SQL的数据类型 NUMBER 数字型能存放整数值和实数值,并且可以定义精度和取值范围 DEC 数字型...数字型可存储带符号整数,为整数计算优化性能 VARCHAR2 字符型存放可变长字符串,有最大长度 CHAR 字符型定长字符串 LONG 字符型变长字符串,最大长度可达,767 DATE 日期型以数据库相同的格式存放日期值...v_sal emp.sal%type; 2.复合类型(存放多个值的变量) plsql中包含pl/sql记录,pl/sql表,嵌套表,varray四种复合类型 --定义PL/SQL记录 declare.../SQL表类似于高级语言中的数组,且PL/SQL表的下表可以为负值,元素的个数没有限制.注意必须首先定义PL/SQL表类型及表变量 在本例中,ename_table_type为表类型,表类型中元素的数据类型为...emp.ename%type, ename_table为表变量,ename_table(-1)表示下标为-1的元素 --嵌套表,varray例子略 3.参照类型变量 用于存放数值指针的变量。

    89230

    万字长文带你了解ETL和数据建模~

    缓慢变化维度第三种类型:新增数据维度成员改变了属性。...5.创建事实表 在确定好事实数据和维度后,我们将考虑加载事实表。...通过固定的抽取,转换,加载到数据仓库中,即可很容易实现。 那么SQL呢?SQL事实上只是固定的脚本语言,但是执行效率高,速度快。不过灵活性不高,很难跨服务器整合数据。...此类表再近源模型层比技术缓冲层、源系统的相应表额外增加两个物理化处理字段START_DT(开始日期)和END_DT(结束日期),使用时需要先选定视觉日期,通过START_DT和END_DT去卡视觉日期,...,以保证只进那些PK未进过的数据; 26.近源模型层到整合模型层的数据流算法-以源日期字段自拉链算法 此算法是源表中有日期字段标识当前记录的生效日期,本算法通过对同主键记录按这个生效日期排序后,一次首尾相连行形成一条自然拉链的算法

    1.4K10

    Web-第二十四天 Oracle学习【悟空教程】

    DCL(数据库控制语言):它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户 组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。...PL/SQL工具包含三种方式导出Oracle表结构及数据,三种方式分别为:Oracle Export 、SQL Inserts、PL/SQL Developer,下面分别简单介绍下区别: 第一种方式导出...PL/SQL编程语言 什么是PL/SQL?...这样的需求我们就无法使用一条SQL来实现,需要借助其他程序来帮助完成,也可以使用pl/sql。 PL/SQL的语法 ? 常量和变量的定义 ?...语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

    1.9K20

    Kettle构建Hadoop ETL实践(六):数据转换与装载

    有三种不同的SCD技术:SCD 类型1(SCD1),SCD类型2(SCD2),SCD类型3(SCD3): SCD1 - 通过更新维度记录直接覆盖已存在的值,它不维护记录的历史。...图6-11 初始装载作业 初始装载作业流程描述如下: 系统初始化,包括更新时间戳表的当前装载日期,设置变量并赋值。 装载过渡区。 装载数据仓库维度表。 装载数据仓库事实表。...图6-20 定期装载作业 定期装载作业流程描述如下: 更新时间戳表的当前装载日期,设置变量并赋值。 装载过渡区。 装载数据仓库维度表。 装载数据仓库事实表。...和订单维度一样,也要关联时间戳表,获取时间窗口作为确定新增数据的过滤条件。...图6-25 使用维度查询/更新步骤获取代理键 该步骤通过关联维度表和数据流中的业务主键字段customer_number,查询出订单日期order_date在生效日期effective_date

    4.4K46

    数据开发数仓工程师上手指南(六)CDM-DWD层搭建规范及流程

    选择合适的粒度是设计事实表的关键,通常可以通过以下两种方式来确定:维度属性组合:通过多个维度属性的组合来定义粒度。具体业务含义:直接基于业务过程的需求来定义粒度。...退化维度事实表结构:投标ID项目ID项目名称供应商ID供应商名称投标日期投标金额投标状态通过这种设计,用户在查询某个供应商的所有投标记录时,可以直接通过退化维度字段快速获取相关信息,而无需对维度表进行复杂的关联查询...分析不同项目的竞争情况,通过投标次数和金额来评估市场热度。4.明细粒度事实层(DWD)的类型在招标业务中,我们可以根据不同的业务需求定义明细粒度事实层(DWD)的类型,以满足对数据分析的不同要求。...明细事实表的设计可以分为四个步骤:选择业务过程、确定粒度、选择维度、确定事实(度量)。粒度主要是在维度未展开的情况下记录业务活动的语义描述。...下面详细说明这些设计原则,并结合招标业务进行解释:5.1一个明细粒度事实表仅和一个维度关联理解:每个明细粒度事实表应该聚焦于一个核心业务事件,通常只关联一个关键维度。

    33240
    领券