Come: |
Lingue disponibili: reporting, Maintain
La funzione YM calcola il numero dei mesi trascorsi tra due date. Le date devono essere nel formato anno-mese. È possibile convertire una data in questo formato utilizzando la funzione CHGDAT o EDIT.
YM(fromdate, todate, output)
dove:
I4YM o I6YYM
La data iniziale nel formato anno-mese (per esempio, I4YM). Se la data non è valida, la funzione restituisce uno 0 (zero).
I4YM o I6YYM
La data finale nel formato anno-mese. Se la data non è valida, la funzione restituisce uno 0 (zero).
Valore intero
Nome del campo che contiene il risultato o formato del valore di emissione racchiuso tra virgolette singole”.
Suggerimento: Se fromdate o todate è formato anno-mese-giorno intero (I6YMD o I8YYMD), dividere la data per 100 per eseguire la conversione nel formato anno-mese e per impostare il risultato ad un valore intero. Questa azione elimina la porzione del giorno della data, che ora si trova dopo il punto decimale.
I comandi COMPUTE convertono le date dal formato anno-mese-giorno al formato anno-mese; quindi YM calcola la differenza tra i valori nei campi HIRE_DATE/100 e DAT_INC/100:
TABLE FILE EMPLOYEE
PRINT DAT_INC AS 'RAISE DATE' AND COMPUTE
HIRE_MONTH/I4YM = HIRE_DATE/100; NOPRINT AND COMPUTE
MONTH_INC/I4YM = DAT_INC/100; NOPRINT AND COMPUTE
MONTHS_HIRED/I3 = YM(HIRE_MONTH, MONTH_INC, 'I3');
BY LAST_NAME BY FIRST_NAME BY HIRE_DATE
IF MONTHS_HIRED NE 0
WHERE DEPARTMENT EQ 'MIS';
END
L'emissione è:
LAST_NAME FIRST_NAME HIRE_DATE RAISE DATE MONTHS_HIRED --------- ---------- --------- ---------- ------------ CROSS BARBARA 81/11/02 82/04/09 5 GREENSPAN MARY 82/04/01 82/06/11 2 JONES DIANE 82/05/01 82/06/01 1 MCCOY JOHN 81/07/01 82/01/01 6 SMITH MARY 81/07/01 82/01/01 6
WebFOCUS |