2013-09-24 36 views
6

Làm cách nào để sử dụng chức năng thêm ngày hoặc ngày tháng Tôi có một tình huống mà tôi cần tìm những người có ngày sinh nhật hoặc sau n ngày. Làm thế nào tôi có thể đạt được nó trong Informix.Chức năng thời gian ngày giúp thông tin

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; 

Trả lời

7

Bạn có thể làm một cái gì đó như thế này:

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; 

Bạn xây dựng một ngày với Sử dụng MDY với MONTHDAY từ bdateYEAR từ TODAY. Sau đó, bạn sẽ thấy nếu nó nằm giữa các ngày bạn muốn khớp.

Documentation for MDY:

Chức năng MDY mất như các đối số của nó ba biểu thức số nguyên đại diện cho tháng, ngày và năm, và trả về một giá trị kiểu DATE.

  • Đối số đầu tiên thể hiện số của tháng (1 đến 12).
  • Đối số thứ hai biểu thị số ngày trong tháng (1 đến 28, 29, 30 hoặc 31, nếu thích hợp cho tháng)
  • Biểu thức thứ ba thể hiện năm có 4 chữ số. Bạn không thể sử dụng chữ viết tắt gồm 2 chữ số.
Các vấn đề liên quan