日期查找表 (1990/01/01:2041/12/31)

2023-12-06

我使用 DATE 的主表来查找日期和其他值,以便控制我的应用程序中的多个事件、间隔和计算。它包含从 01/01/1990 到 12/31/2041 之间每一天的行。

我如何使用此查找表的一个示例是:

  1. 一位顾客典当了一件物品:JAN-31-2010
  2. 客户于 2010 年 5 月 3 日返回并支付利息,以避免物品被没收。
  3. 如果他支付 1 个月的利息,员工输入“1”,应用程序就会查找典当
    日期主表中的日期 (JAN-31-2010) 并将 FEB-28-2010 放入适用的利息中 皮姆特日期。 FEB-28 被返回,因为 FEB-31 不存在!如果2010年是闰年的话 会在 2 月 29 日返回。
  4. 如果客户支付 2 个月,则退回 MAR-31-2010。 3 个月,APR-30...如果客户 支付超过 3 个月或日期查找表未涵盖的其他期间, 员工手动输入适用日期。

日期查找表如下所示:


{ Copyright 1990:2010, Frank Computer, Inc. }

{ DBDATE=YMD4- (correctly sorted for faster lookup) }

CREATE TABLE     datemast 
(
 dm_lookup       DATE,    {lookup col used for obtaining values below}
 dm_workday      CHAR(2), {NULL=Normal Working Date,}
                          {NW=National Holiday(Working Date),}
                          {NN=National Holiday(Non-Working Date),}
                          {NH=National Holiday(Half-Day Working Date),}
                          {CN=Company Proclamated(Non-Working Date),}
                          {CH=Company Proclamated(Half-Day Working Date)}

 {several other columns omitted}

 dm_description CHAR(30), {NULL, holiday description or any comments}
 dm_day_num     SMALLINT, {number of elapsed days since begining of year}
 dm_days_left   SMALLINT, (number of remaining days until end of year}

 dm_plus1_mth   DATE,     {plus 1 month from lookup date}
 dm_plus2_mth   DATE,     {plus 2 months from lookup date}
 dm_plus3_mth   DATE,     {plus 3 months from lookup date}
 dm_fy_begins   DATE,     {fiscal year begins on for lookup date}
 dm_fy_ends     DATE,     {fiscal year ends on for lookup date}
 dm_qtr_begins  DATE,     {quarter begins on for lookup date}
 dm_qtr_ends    DATE,     {quarter ends on for lookup date}
 dm_mth_begins  DATE,     {month begins on for lookup date}
 dm_mth_ends    DATE,     {month ends on for lookup date}
 dm_wk_begins   DATE,     {week begins on for lookup date}
 dm_wk_ends     DATE,     {week ends on for lookup date}

 {several other columns omitted}
)
IN "S:\PAWNSHOP.DBS\DATEMAST"; 

有没有更好的方法或者这是一个很酷的方法?


这是一种合理的做事方式。如果你调查数据仓库,您会发现这些系统通常对时间事实表使用类似的系统。由于您使用的五十年跨度中只有不到 20K 行,因此数据量并不大。

假设存储比计算提供更好的性能;这肯定不是很明确,因为计算并不那么困难(尽管它们也不是微不足道的),并且任何磁盘访问在计算方面都非常慢。然而,将信息存储在一个表中的便利性可能足以保证必须跟踪表中存储的每个计算值的适当方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

日期查找表 (1990/01/01:2041/12/31) 的相关文章

  • 使用存储过程中的 Select 查询将单个变量分配给多行

    我的查询是使用 Select 将单个变量分配给多行 存储过程中的查询 例如 我从 Employee 表中获取 10 个 比如 1 到 10 个员工 ID 声明 id int select id EmpId from Employee sel
  • 插入具有只读主键列的表

    我正在使用一个使用 sql server 数据库的应用程序 我试图在表中插入一行 如下所示 该表有一个主键 prodNum 这是自动生成的密钥 当我尝试向表中插入一行时 如下所示 在行中intResult oSglProdTableAdap
  • 通过 C# SqlCommand 执行合并语句不起作用

    我正在第一次尝试使用临时表和MERGE语句通过更新 SQL 表SqlCommandC 中的对象 我正在开发的程序旨在首先将大量记录 最多 20k 导出到 Excel 电子表格中 然后 用户可以搜索并替换特定值 并根据需要更新任意多记录中的任
  • 在 SQL Server 2005 中,len() 和 datalength() 有什么区别?

    SQL Server 2005 中的 len 和 datalength 有什么区别 DATALEN 将返回用于存储值的字节数 http msdn microsoft com en us library ms173486 SQL 90 asp
  • pymssql 库中的参数绑定是否正确实现?

    我使用 pymsqsql 库从 Python 程序调用极其简单的查询 with self conn cursor as cursor cursor execute select extra id from mytable where id
  • Microsoft SQL:CASE WHEN 与 ISNULL/NULLIF

    除了可读性之外 在防止 SQL 中的除以 0 错误时 使用 CASE WHEN 语句与 ISNULL NULLIF 相比还有什么显着的好处吗 CASE WHEN BeginningQuantity BAdjustedQuantity 0 T
  • 如何使用一个命令删除 SQL 数据库中的所有索引?

    那么 如何通过一条命令删除 SQL 数据库中的所有索引呢 我有这个命令可以获取所有 20 个左右的 drop 语句 但是如何从这个 结果集 运行所有这些 drop 语句呢 select from vw drop idnex 给我相同列表的另
  • php oracle客户端oci8安装出现什么问题

    我尝试了安装 PHP Oracle 客户端的所有过程 1 我安装了客户端版本8和32位 2 我在php ini中取消了oci的注释 3 重新启动Wamp 4 不确定是否真的安装 但我在 php ini 中得到了引用 5 但仍然无法连接 泰汉
  • 告诉我 SQL Server 全文搜索器疯了,不是我疯了

    我有一些客户具有用户正在搜索的特定地址 123 通用方式 数据库中有 5 行匹配 ResidentialAddress1 123 GENERIC WAY 123 GENERIC WAY 123 GENERIC WAY 123 GENERIC
  • 是否可以从子查询中获取多个值?

    有没有办法让子查询在oracle db中返回多列 我知道这个特定的sql会导致错误 但它很好地总结了我想要的 select a x select b y b z from b where b v a v from a 我想要这样的结果 a
  • 使用 VBA 通过 Access 导航网页/操作 IE

    你好 StackOverflow 社区 我有一个关于使用 Access VBA 操作 IE 的问题 本质上 我正在尝试编写代码 使用 IE 打开特定网页 在该页面中搜索特定链接 目标链接的名称将取决于用户的情况 通过以编程方式单击该链接导航
  • SQL查询json字典数据

    我的表中的 CLOB 字段包含 JSON 如下所示 a value1 b value2 c value3 我正在尝试编写一个 SQL 查询来返回一个包含键和值字段的表 如下所示 key value a value1 b value2 c v
  • 我在 MacBook M1 max 中的 nodejs 连接到数据库 oracle 时遇到问题帮助我

    Node js 中的错误消息 nodemon 启动node server js错误 错误 DPI 1047 无法找到 64 位 Oracle 客户端库 dlopen Users pitidev ldb Downloads instantcl
  • 当附加触发器时,Linq-to-sql 插入和更新失败

    我最近在 linq to sql 方面遇到了一些问题 问题在于 当我们将触发器附加到事件时 它 认为 插入和更新失败 一个例子可以是一行 当一行被更改时 附加一个触发器将 LastUpdated 冒号设置为当前时间 这将导致 linq to
  • spring boot中如何部分回滚数据,错误待解决

    我在事务中使用表数据创建顺序springboot java jpa and hibernate顺序如下所示 使用的数据库是Oracle 下订单 插入订单详细信息表 处理付款 插入到 payment info 表中 错误消息 信息 警告 错误
  • 跳过行:将数据从 SSIS 导出到 Excel 文件

    我正在尝试使用 SSIS 将数据从 SQL Server 数据库导出到 Excel 文件中 我希望从第 6 行插入数据 第 5 行有标题 我可以映射标题名称Excel 目标编辑器 通过编写 SQL 命令到 SQL 表头 SELECT FRO
  • 基本的多对多sql选择查询

    我认为这应该很容易 但它却在逃避我 我的帐户和帐户组之间存在多对多关系 一个帐户可以位于零个或多个组中 因此我使用标准连接表 Accounts ID BankName AcctNumber Balance AccountGroups ID
  • Oracle REGEXP_INSTR() 和“a-z”字符范围与预期不匹配

    我想用REGEXP INSTR 在 oracle 数据库中检查小写 大写字符 我知道 upper and lower POSIX 字符类 但我选择了a z这给了我非常奇怪的结果 我不明白 有人可以解释一下吗 SELECT REGEXP IN
  • 如何获取MS Access中表的列名? [复制]

    这个问题在这里已经有答案了 如何使用查询获取MS Access中表的字段名或列名 有人可以帮助我解决这个问题吗 就像如果我有一个名为 员工 的表 我需要单独获取员工的字段名称 id 姓名 工作状态等 而不是其记录 有什么方法可以得到这个吗
  • 替换字符串中的多个字符,而不使用任何嵌套替换函数

    我的表中存储了一个方程 我一次获取一个方程 并希望将所有运算符替换为任何其他字符 输入字符串 N 100 6858 6858 N 100 0 2 N 35 运算符或模式 替换字符 输出字符串 N 100 6858 6858 N 100 0

随机推荐

  • 点击后退按钮但不终止活动并让它进入后退堆栈(Android)

    我有 3 项活动 A B 和 C 我通过单击按钮动态地扩展 Activity B 并且用户可以添加任意数量的视图 操作是这样的 用户看到 活动 A 首先输入他的详细信息并单击保存按钮 我将他带到 活动 B 在那里他可以多次添加某些字段 当他
  • 更新的数据(在数据库中)通过 JPA/Eclipselink 不可见[重复]

    这个问题在这里已经有答案了 我有 Oracle DB 和 Java 项目 它使用 JPA Eclipselink 连接到数据库 问题是 当数据库中的某些数据更新时 手动使用 Oracle SQL Developer 这些数据通过 JPA 不
  • 无法获取日本的交通路线

    搜索路线35 443708 139 638026 to 35 689487 139 691706产生结果谷歌地图 但是对路线 API 的此查询不会 有人有主意吗 这似乎是日本特有的 如果您实际对此进行测试 则需要将上面的出发时间更新为现在
  • Rails、Heroku 未加载我的库

    我正在一个新的 Rails 应用程序中工作 并在中创建了一个小实用程序类RAILS ROOT lib 我在其中一个控制器中使用此类require 在本地 此类已正确加载 但当我在 heroku 上部署应用程序时 它崩溃并显示 LoadErr
  • 使用代码将图像对象添加到wpf

    我是 C 和 WPF 的新手 我正在尝试创建一个简单的汽车模拟器 模拟器的主要想法是 我有 C 类来创建汽车对象 这些对象具有可以更改的速度变量和从左向右移动的计时器 我想用计时器进行运动 而不是例如doubleanimation 在 WP
  • 使用 spring RestTemplate 对 REST API 进行基本身份验证

    我对 RestTemplate 和 REST API 都是全新的 我想通过 Jira REST API 检索应用程序中的一些数据 但返回 401 Unauthorized 找到并发表文章jira Rest API 文档但真的不知道如何将其重
  • firebase iOS 无法接收推送通知

    我在我的应用程序中包含 google firebase 创建谷歌帐户 创建谷歌应用程序 上传 APNS 认证 pem 并在另一个服务中工作 并从控制台发送推送通知 但我的应用程序没有收到它 在 Firebase 控制台中 我看到状态已完成
  • PHP in_array 意外结果

    当我执行这一小段 PHP 代码时 php r echo in array 0 array aaa bbb 那回声true 当然 如果我添加严格标志 我会得到很好的返回值in array 但我就是不明白为什么它会返回true 我不能 如果有人
  • 查找 javascript 中所有没有 data- 属性的元素

    我需要找到其中的所有元素 post content 没有数据属性 我试着说类似的话if post content p attr data example 但显然这行不通 那么我将如何执行以下操作 查找所有属于 post content 且没
  • 为什么在使用函数时总是执行 Angular 2 中的 *ngIf ?

    我正在尝试使用 Angular 2 创建一个应用程序 并在我的应用程序中有一个身份验证服务 我的 html 模板是这样的
  • 如何使用 kafka 使用 python 连接 JDBC 接收器和源

    我想从一个系统直播到另一个系统 我正在使用 kafka python 并且能够在本地进行直播 发现连接器可以处理多个设备 有人可以建议我一种使用连接器在 python 中实现它的方法吗 Kafka Connect 是一个 Java 框架 而
  • RESTful 服务 - WSDL 等效项

    我一直在阅读有关 REST 和 SOAP 的内容 并了解为什么实施 REST 比使用 SOAP 协议更有利 但是 我仍然不明白为什么 REST 世界中没有 WSDL 等价物 我看到过一些帖子说 WSDL 不需要 或者说它在 REST 世界中
  • 将数据框转换为 xts

    我正在尝试使用 as xts 方法将数据帧转换为 xts 对象 这是我的输入数据框 q q t x 1 2006 01 01 00 00 00 1 2 2006 01 01 01 00 00 2 3 2006 01 01 02 00 00
  • 在 WebGL for 循环中使用制服(或类似的)的解决方法?

    我正在致力于在 WebGL 中实现片段着色器 并遇到了只能在 for 循环中使用常量表达式的限制 有人对此有任何合适的解决方法吗 在我的具体情况下 我正在实现双边过滤器 并且当前在我的片段着色器中将窗口大小指定为常量 但希望能够从 Java
  • 实体框架 - “无法创建‘闭包类型’类型的常量值...”错误

    为什么我会收到错误 无法创建 闭包类型 类型的常量值 仅有的 支持基本类型 例如 Int32 String 和 Guid 这个背景 当我尝试枚举以下 Linq 查询时 IEnumerable
  • 除了使用时间来生成随机数之外,还有其他选择吗?

    我试图在计算集群中同时运行一段代码的多个实例 2000 个实例左右 它的工作方式是 我提交作业 集群将在节点经常打开时运行它们 每个节点有多个作业 这似乎在使用时间种子的随机数生成中为大量实例生成相同的值 我可以使用一个简单的替代方案吗 可
  • 使用 python 列表理解的毕达哥拉斯三元组

    我可以使用 for 循环找出毕达哥拉斯三元组 如下所示 def triplet n Find all the Pythagorean triplets between 1 and n inclusive for a in range n 1
  • 无法将类型“double”隐式转换为“string”

    我正在编写一个程序来获取圆的半径并输出直径 面积和周长 我尝试从直径开始 但不断收到错误 无法将类型 double 隐式转换为 string 我已经使用整数完成了类似的程序 但我一生都无法弄清楚如何在文本框中接收浮点数并计算它们以便我可以输
  • 缩进#define

    我知道 defines 等通常不会缩进 为什么 我目前正在编写一些代码 其中混合了可怕的内容 defines ifdefs elses endif等等 所有这些经常与普通的 C 代码混合在一起 的非缩进 defines 使它们难以阅读 以及
  • 日期查找表 (1990/01/01:2041/12/31)

    我使用 DATE 的主表来查找日期和其他值 以便控制我的应用程序中的多个事件 间隔和计算 它包含从 01 01 1990 到 12 31 2041 之间每一天的行 我如何使用此查找表的一个示例是 一位顾客典当了一件物品 JAN 31 201