YM: Cómo calcular meses transcurridos

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.


Principio de página

x
Sintaxis: Cómo Calcular meses transcurridos
YM(fromdate, todate, output)

donde:

fromdate

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).

todate

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).

output

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.



Ejemplo: Cómo calcular meses transcurridos

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