kerry69 发表于 2004-10-21 15:27

我自己在informix-4GL下写的几个跟日期有关的函数

1.
##SYNTAX      CALL s_monbend(p_yy,p_mm)
##            RETURNING l_bdate,l_edate
##DESCRIPTION   讀取該月份所在的之第一天及最後一天
##PARAMETERS    p_yy 年 p_mm 月
##RETURNING             l_bdate該月之第一天
##                      l_edate該月之最後一天
# Date & Author..: 04/04/23 by Kerry

FUNCTION s_monbend(p_yy,p_mm)
DEFINE p_yy,p_mm   INTEGER
DEFINE n_yy,n_mm   INTEGER
DEFINE l_bdate,l_edate       DATE,
         c_bdate               char(10),
         c_yeare               char(04),
         c_month               char(02)
   
LET c_yeare=p_yy
LET c_month=p_mm using '&&'
LET c_bdate=c_yeare,c_month,'01'
LET l_bdate=c_bdate
    LET n_yy=p_yy
LET n_mm=p_mm+1
IF n_mm=13 THEN LET n_yy=n_yy+1 LET n_mm=n_mm-12 END IF
LET l_edate=MDY(n_mm,1,n_yy)-1
    RETURN l_bdate,l_edate
END FUNCTION

2.
##SYNTAX      CALL s_mothck(p_date)
##            RETURNING l_bdate,l_edate
##DESCRIPTION   讀取該日期所在的月份之第一天及最後一天
##PARAMETERS    p_date日期
##RETURNING   l_bdate該月之第一天
##            l_edate該月之最後一天
# Date & Author..: 04/04/23 by Kerry

FUNCTION s_mothck(p_date)
   DEFINEp_date   DATE,
         p_bdate    DATE,
         p_edate    DATE,
         l_date   DATE,
         b_date   CHAR(08),
         l_tmp      SMALLINT
   
   IF p_date IS NULL OR p_date=' ' THEN
      RETURN '',''
   END IF
   LET b_date=p_date USING "yyyymmdd"
   IF b_date<>;'01' THEN       LET b_date=b_date,b_date,b_date*0+1 USING '&&'
   END IF
   LET p_bdate = MDY(b_date,b_date,b_date)    #該月第一天
   #將月份加一, 再將日期減一, 即可得到上月的最後一天
   LET b_date=b_date,b_date+1 USING '&&',b_date
   IF b_date='13' THEN       LET b_date=b_date+1 USING '&&&&',b_date*0+1
                  USING '&&',b_date
   END IF
   LET l_date = MDY(b_date,b_date,b_date) #該月之最後一天
   LET p_edate=l_date-1
   RETURN p_bdate,p_edate
END FUNCTION

czw1413_cn 发表于 2004-10-21 17:54

我自己在informix-4GL下写的几个跟日期有关的函数

ns23 发表于 2007-06-30 22:05

(第一次在chinaunix上顶帖~)

繁体字呀,lz是不是在台资上班呐?不同的是我是在深圳~ 感觉书写格式都那么象!

shenhuawd 发表于 2012-09-10 17:09

謝謝樓主分享!

tulip0425 发表于 2012-10-04 11:47

好帖,确实好帖!
页: [1]
查看完整版本: 我自己在informix-4GL下写的几个跟日期有关的函数