>PRIVATE test > >ldStart = DATE(2006,12,31) >ldEnd = DATE(2007,3,3) > >lnMonth1 = month(ldStart) >lnDay1 = day(ldStart) >lnSeconds = SECONDS() >IF YEAR(ldStart) = YEAR(ldEnd) > lnDiff = ldEnd - ldStart > > select dDOB from Patients where dDOB is not null and dDOB <> {} and dDOB ; > between date(year(dDOB),lnMonth1,lnDay1) and (date(year(dDOB),lnMonth1,lnDay1) + lnDiff) ; > ORDER BY dDOB INTO CURSOR curTest nofilter >ELSE > lnMonth2 = month(ldEnd) > lnDay2 = day(ldEnd) > > select dDOB from Patients where dDOB is not null and dDOB <> {} and ; > (dDOB between date(year(dDOB),lnMonth1,lnDay1) and date(year(dDOB),12,31) ; > OR dDOB between date(year(dDOB),1,1) and date(year(dDOB),lnMonth2,lnDay2)) ; > ORDER BY dDOB INTO CURSOR curTest nofilter >ENDIF >=MESSAGEBOX(SECONDS() - lnSeconds) >BROWSE FOR day(dDob) = 29 AND MONTH(dDob) = 2 >lnSeconds = SECONDS() > >SELECT dDOB FROM Patients WHERE dDOB is not null and dDOB <> {} and ; > (DATE( YEAR( ldStart ), MONTH( dDob ), DAY( dDob ) ) BETWEEN ldStart AND ldEnd ; > OR ; > DATE( YEAR( ldEnd), MONTH( dDob ), DAY( dDob ) ) BETWEEN ldStart AND ldEnd) INTO CURSOR cTest nofilter > >=MESSAGEBOX(SECONDS() - lnSeconds) > >BROWSE FOR day(dDob) = 29 AND MONTH(dDob) = 2 > >*_cliptext = test>
>>>select dDOB from Patients where dDOB is not null and dDOB <> {} and dDOB ; >>>between date(year(dDOB),lnMonth1,lnDay1) and (date(year(dDOB),12,31) and dDOB between(date(year(DOB),1,1) and date(year(DOB),lnMonth2, lnDay2); >>>ORDER BY dDOB INTO CURSOR curTest nofilter>>
>>ldStart = DATE(2008,12,28) >>ldEnd = ldStart+6 >> >>lnMonth1 = MONTH(ldStart) >>lnDay1 = DAY(ldStart) >> >>lnMonth2 = MONTH(ldEnd) >>lnDay2 = DAY(ldEnd) >> >>IF YEAR(ldStart)=YEAR(ldEnd) >> SELECT DISTINCT YEAR(ddob) AS nYear, {} AS dStart, {} AS dEnd ; >> FROM patients INTO CURSOR crsYears READWRITE >> REPLACE ALL dStart WITH DATE(nYear, lnMonth1, lnDay1); >> , dEnd WITH DATE(nYear, lnMonth2, lnDay2) >> >>ELSE >> SELECT DISTINCT YEAR(ddob) AS nYear, {} AS dStart, {} AS dEnd ; >> FROM patients INTO CURSOR crsYears1 READWRITE >> SELECT nYear, DATE(nYear, lnMonth1, lnDay1) AS dStart, DATE(nYear, 12, 31) AS dEnd; >> FROM crsYears1 ; >> UNION SELECT nYear, DATE(nYear, 1, 1) AS dStart, DATE(nYear, lnMonth2, lnDay2) AS dEnd; >> FROM crsYears1 ; >> INTO CURSOR crsYears READWRITE >>ENDIF >> >>SELECT ddob FROM patients; >> JOIN crsYears ON BETWEEN(ddob, dStart, dEnd) >>>>