DATE查询表(1990/01/01:2041/12/31) [英] DATE lookup table (1990/01/01:2041/12/31)
问题描述
我使用DATE的主表查找日期和其他值,以便控制我的应用程序中的几个事件,间隔和计算。每一天从01/01/1990到12/31/2041都有行。
I use a DATE's master table for looking up dates and other values in order to control several events, intervals and calculations within my app. It has rows for every single day begining from 01/01/1990 to 12/31/2041.
我使用这个查找表的一个例子是:
One example of how I use this lookup table is:
- 一个客户在JAN-31-2010
- 的客户退货,以避免没收该物品的利益。
- 如果他支付1个月的利息,员工输入1,并且应用程序在日期查找pawn
date(JAN-31-2010)主表和FEB-28-2010在适用的利息
pymt日期。 FEB-28因为FEB-31不存在而返回!如果2010年是闰年,那么
将返回FEB-29。 - 如果客户支付2个月,则返回2010年3月31日。 3个月,APR-30 ...如果客户
支付超过3个月或日期查找表未涵盖的其他期间,
员工手动输入适用的日期。
- A customer pawned an item on: JAN-31-2010
- Customer returns on MAY-03-2010 to make an interest pymt to avoid forfeiting the item.
- If he pays 1 months interest, the employee enters a "1" and the app looks-up the pawn
date (JAN-31-2010) in date master table and puts FEB-28-2010 in the applicable interest pymt date. FEB-28 is returned because FEB-31's dont exist! If 2010 were a leap-year, it would've returned FEB-29. - If customer pays 2 months, MAR-31-2010 is returned. 3 months, APR-30... If customer pays more than 3 months or another period not covered by the date lookup table, employee manually enters the applicable date.
以下是日期查询表的样子:
Here's what the date lookup table looks like:
{ 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";
有没有更好的方式做这个或者是一个很酷的方法?
Is there a better way of doing this or is it a cool method?
推荐答案
好的,所以我用31天/月测试了我的应用程序来计算利率和典当店很高兴!本地法律祈祷如下:从典当或最后一个int。 pymt。日期为5天,本金5%的利息,6至10天= 10%,11至15天= 15%,16天至1个月= 20%。
OK, so I tested my app using 31 days/month to calculate interest rates & pawnshops are happy with it! Local Law prays as follows: From pawn or last int. pymt. date to 5 elapsed days, 5% interest on principal, 6 to 10 days = 10%, 11 to 15 days = 15%, and 16 days to 1 "month" = 20%.
因此,利息表现在定义如下:
So the interest table is now defined as follows:
NUMBER OF ELAPSED DAYS SINCE
PAWN DATE OR LAST INTEREST PYMT
FROM TO ACUMULATED
DAY DAY INTEREST
----- ---- ----------
0 5 5.00%
6 10 10.00%
11 15 15.00%
16 31 20.00%
32 36 25.00%
37 41 30.00%
42 46 35.00%
47 62 40.00%
[... until day 90 (forfeiture allowed)]
from day 91 to 999, daily prorate based on 20%/month.
在MAR-13或SEP-1752的英国有不好的发生吗?
Did something bad happen in the UK on MAR-13 or SEP-1752?
这篇关于DATE查询表(1990/01/01:2041/12/31)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!