日期时间函数帮助Informix

7

我该如何使用日期加或日期差函数?我有一个场景,需要找到生日是今天或 n 天后的人。在 Informix 中我该怎么实现?

SELECT mbr_code, fname, lname
INTO rsMbrCode, rsFName, rsLName
FROM asamembr
WHERE cust_code = membershipnumber 
    AND ((day(bdate) - day(CURRENT)) <= rsTest 
    AND MONTH(bdate) = month(CURRENT))

RETURN rsMbrCode, rsFName, rsLName WITH RESUME;
1个回答

8
你可以像这样做:

你可以这样做:

SELECT mbr_code,fname,lname
INTO rsMbrCode,rsFName,rsLName
FROM asamembr
WHERE cust_code = membershipnumber 
    AND MDY(month(bdate),day(bdate),year(today)) 
    BETWEEN TODAY AND TODAY + <NUMBEROFDAYS> UNITS DAY;

您可以使用从bdate中获取的MONTHDAY,以及从TODAY中获取的YEAR构造一个日期。然后,您可以查看它是否在要匹配的日期范围内。
MDY的文档可参阅此处:

MDY函数接受三个整数表达式作为其参数,这些表达式代表月份、日期和年份,并返回一个DATE类型值。

  • 第一个参数代表月份(1到12)。
  • 第二个参数代表月份中的日期(1到28、29、30或31,适用于该月)。
  • 第三个参数表示4位数年份。不能使用2位数的缩写。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接