Cómo: |
Idiomas disponibles: informes, Maintain
La función YM calcula el número de meses entre dos fechas. Las fechas deben estar en formato año-mes. Puede utilizar la función CHGDAT o EDIT para convertir una fecha a este formato.
YM(fromdate, todate, output)
donde:
I4YM o I6YYM
Es la fecha inicial en formato año-mes (por ejemplo, I4YM). Si la fecha no es válida, la función devuelve un 0 (cero).
I4YM o I6YYM
Es la fecha final en formato año-mes. Si la fecha no es válida, la función devuelve un 0 (cero).
Número entero
Es el nombre del campo que contiene el resultado, o el formato del valor de salida puesto entre comillas solas.
Sugerencia: Si fromdate o todate está en formato de número entero año-día-mes (I6YMD o I8YYMD), divida por 100 para convertir al formato año-mes y establecer el resultado en un número entero. Esto retira la sección día de la fecha, que ahora se encuentra a la derecha del punto decimal.
El comando COMPUTE convierte las fechas del formato año-mes-día al formato año-mes y a continuación, YM calcula la diferencia entre los valores de los campos HIRE_DATE/100 y 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
La salida es:
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 |