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;
4

1 回答 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;

您可以使用 Using MDY with the MONTHand DAYfrombdateYEARfrom构造一个日期TODAY。然后你看看它是否在你想要匹配的日期之间。

MDY 的文档

MDY 函数将三个表示月、日和年的整数表达式作为其参数,并返回一个 DATE 类型的值。

  • 第一个参数表示月份的编号(1 到 12)。
  • 第二个参数表示月份中的天数(1 到 28、29、30 或 31,视月份而定)
  • 第三个表达式代表 4 位数的年份。不能使用 2 位数的缩写。
于 2013-09-24T20:43:30.263 回答