How to: |
Available Languages: reporting, Maintain
The HDIFF function calculates the number of date or time component units between two date-time values.
HDIFF(end_dt, start_dt, 'component', output)
where:
Date-time
Is the date-time value to subtract from, the name of a date-time field that contains the value, or an expression that returns the value.
Date-time
Is the date-time value to subtradt, the name of a date-time field that contains the value, or an expression that returns the value.
Alphanumeric
Is the name of the component to be used in the calculation, enclosed in single quotation marks. If the component is a week, the WEEKFIRST parameter setting is used in the calculation.
Floating-point double-precision
Is the field that contains the result, or the format of the output value enclosed in single quotation marks. The format must be floating-point double-precision.
HDIFF calculates the number of days between the TRANSDATE and ADD_MONTH fields and stores the result in DIFF_PAYS, which has the format D12.2:
TABLE FILE VIDEOTR2
PRINT CUSTID TRANSDATE AS 'DATE-TIME' AND COMPUTE
ADD_MONTH/HYYMDS = HADD(TRANSDATE, 'MONTH', 2, 8, 'HYYMDS');
DIFF_DAYS/D12.2 = HDIFF(ADD_MONTH, TRANSDATE, 'DAY', 'D12.2');
WHERE DATE EQ 2000;
END
The output is:
CUSTID DATE-TIME ADD_MONTH DIFF_DAYS ------ --------- --------- --------- 1237 2000/02/05 03:30 2000/04/05 03:30:00 60.00 1118 2000/06/26 05:45 2000/08/26 05:45:00 61.00
HDIFF calculates the number of days between ADD_MONTH and DT1:
MAINTAIN FILE DATETIME
FOR 1 NEXT ID INTO STK;
COMPUTE
NEW_DATE/HYYMDS = HADD(STK.DT1, 'MONTH', 2,10, NEW_DATE);
DIFF_DAYS/D12.2 = HDIFF(NEW_DATE,STK.DT1,'DAY', DIFF_DAYS);
TYPE "STK(1).DT1 = "STK(1).DT1;
TYPE "NEW_DATE = "NEW_DATE;
TYPE "DIFF_DAYS = "DIFF_DAYS
END
WebFOCUS |