2013-09-24 9 views
6

Come posso usare le funzioni di aggiunta data o data differ Ho uno scenario in cui ho bisogno di trovare persone i cui compleanni sono oggi o dopo n numero di giorni. Come posso ottenerlo in informix.Le funzioni di data e ora aiutano 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; 

risposta

7

Si potrebbe fare qualcosa di simile:

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; 

si costruisce un appuntamento con Utilizzando MDY con la MONTH e DAY da bdate e YEAR da TODAY. Poi vedi se è tra le date che vuoi abbinare.

Documentation for MDY:

La funzione MDY prende come argomenti tre espressioni intere che rappresentano il mese, il giorno e l'anno, e restituisce un valore di tipo DATE.

  • Il primo argomento rappresenta il numero del mese (da 1 a 12).
  • Il secondo argomento rappresenta il numero del giorno del mese (da 1 a 28, 29, 30 o 31, a seconda del mese)
  • La terza espressione rappresenta l'anno a 4 cifre. Non è possibile utilizzare un'abbreviazione a 2 cifre.