Función AGE( )
Devuelve la antigüedad de una fecha (en días) comparada con una fecha de corte especificada o con la fecha actual del sistema operativo.
Sintaxis
AGE(fecha/fechahora/cadena <;fecha_de_corte>)
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
fecha/fechahora/cadena |
carácter fechahora |
El campo, expresión o valor literal para calcular la antigüedad |
fecha_de_corte
opcional |
carácter fechahora |
El campo, la expresión o el valor literal con el cual se comparan la fecha /fechahora/cadena. Si se omite, se usará la fecha del sistema operativo actual como la fecha de corte. |
Nota
Tanto fecha/fechahora/cadena como fecha_de_corte pueden aceptar un valor de fechahora, pero la porción hora del valor se ignora. No puede utilizar AGE( ) solamente con valores de horas.
Salida
Numérico.
Ejemplos
Ejemplos básicos
Sin fecha de corte
Devuelve la cantidad de días entre el 31 de diciembre de 2014 y la fecha actual:
- Si se devuelve un valor positivo, es igual a la cantidad de días que transcurrieron desde el 31 de diciembre 2014.
- Si se devuelve un valor negativo, es igual a la cantidad de días que faltan para el 31 de diciembre 2014.
- Si se devuelve 0, 31 de diciembre 2014 es la fecha actual.
AGE(`20141231`)
Devuelve la cantidad de días entre cada fecha en el campo Fecha_de_vencimiento y la fecha actual:
AGE(Fecha_de_vencimiento)
Mezcla de tipos de datos
Devuelve 518, la cantidad de días entre las dos fechas especificadas:
AGE(`20130731`;`20141231`)
AGE("20130731";"20141231")
AGE(`20130731`;"20141231")
AGE(`20130731 235959`;`20141231`)
Uso de fechas de corte y campos
Devuelve la cantidad de días entre cada fecha en el campo Fecha_de_vencimiento y la fecha de corte del 31 de diciembre de 2014:
- Las fechas anteriores a la fecha de corte devuelven un valor positivo igual a la cantidad de días previos a la fecha de corte en que tienen lugar.
- Las fechas posteriores a la fecha de corte devuelven un valor negativo igual al número de días posteriores a la fecha de corte en que ocurrirán
AGE(Fecha_de_vencimiento; `20141231`)
Devuelve la cantidad de días entre el 31 de diciembre de 2014 y cada fecha en el campo Fecha_de_vencimiento. Los resultados son los mismos que en el ejemplo que antecede, pero el signo de los valores devueltos (positivo o negativo) se invierte:
AGE(`20141231`; Fecha_de_vencimiento)
Comparación de fechas en los campos
Devuelve la cantidad de días entre cada fecha en el campo Fecha_de_pago y la fecha correspondiente en el campo Fecha_de_vencimiento:
- Las fechas de pago anteriores a las fecha de vencimiento devuelven un valor positivo, lo cual indica el pago puntual
- Las fechas de pago posteriores a la fecha de vencimiento devuelven un valor negativo, lo cual indica un pago fuera de plazo
AGE(Fecha_de_pago; Fecha_de_vencimiento)
Devuelve la cantidad de días entre cada fecha en el campo Fecha_de_pago y la fecha correspondiente en el campo Fecha_de_vencimiento más un período de gracia de 15 días.
- Las fechas de pago anteriores a las fechas de vencimiento o hasta 15 días después de las fechas de vencimiento devuelven un valor positivo.
- Las fechas de pago posteriores a los 15 días luego de las fechas de vencimiento devuelven un valor negativo, lo cual indica un pago fuera de plazo y del período de gracia
AGE(Fecha_de_pago; Fecha_de_vencimiento+15)
Ejemplos avanzados
Extraer pagos vencidos
Extraer el nombre, el importe y la fecha de la factura para cada registro donde la antigüedad de la factura es mayor a 180 días, sobre la base de una fecha de corte del 31 de diciembre de 2014:
EXTRACT FIELDS Nombre Importe Fecha_de_factura TO "Vencido" IF AGE(Fecha_de_factura; `20141231`) > 180
Observaciones
Cómo funciona
La función AGE( ) función calcula la cantidad de días entre dos fechas.
Cuándo usar AGE( )
Utilice AGE( ) para comparar dos fechas a fin de determinar las cuentas vencidas, realizar análisis de antigüedad de los saldos o para realizar cualquier tarea que requiera conocer la cantidad de días que transcurrieron entre dos fechas.
Devolución de valores negativos
Se devuelve un valor negativo si la fecha que se especificó para fecha/fechahora/cadena es más reciente que la fecha que se especificó para fecha_de_corte, o más reciente que la fecha del sistema operativo si no se especificó fecha_de_corte.
Uso de un campo para la fecha de corte
A diferencia del comando AGE, que requiere un valor literal de fecha para la fecha de corte, la función AGE( ) le permite utilizar también un campo para la fecha de corte.
Por ejemplo:
AGE(Fecha_de_pago; Fecha_de_vencimiento)
El uso de la función AGE( ) de esta manera equivale a calcular la diferencia entre dos campos de fecha restándolos en una expresión.
Por ejemplo:
Fecha_de_pago – Fecha_de_vencimiento
Detalles del parámetro
Un campo de fechahora especificado para fecha/fechahora/cadena o fecha_de_corte puede utilizar cualquier formato de fecha o fechahora, siempre que la definición del campo establezca correctamente el formato.
Especificar un valor de fechahora o fecha literal
Al especificar un valor literal de fecha o fechahora para fecha/fechahora/cadena o fecha_de_corte, solo puede utilizar los formatos de la siguiente tabla y debe encerrar el valor entre acentos graves o comillas simples o dobles; por ejemplo, `20141231` o "20141231".
No utilice ningún separador, como barras (/) o dos puntos (:), entre los componentes individuales de fechas u horas. Se permite el uso de dos puntos en valores de hora en caracteres.
-
Valores de fechahora: puede utilizar cualquier combinación de formatos de fecha, separador y hora de la siguiente tabla. La fecha debe preceder a la hora y se debe utilizar un separador entre las dos. Los separadores válidos son un espacio en blanco, la letra 't' o la letra 'T'.
Formatos de ejemplo
Valores literales de ejemplo
AAAAMMDD
`20141231`
"20141231"
AAMMDD
`141231`
"141231"
AAAAMMDD hhmmss
`20141231 235959`
"20141231 235959"
AAMMDDthhmm
`141231t2359`
"141231t2359"
AAAAMMDDThh
`20141231T23`
"20141231T23"
AAAAMMDD hhmmss+/-hhmm
(desplazamiento de UTC)
`20141231 235959-0500`
"20141231 235959-0500"
AAMMDD hhmm+/-hh
(desplazamiento de UTC)
`141231 2359+01`
"141231 2359+01"
Nota
No use solo hh en el formato de la hora principal con datos que tienen un desplazamiento del UTC. Por ejemplo, evite: hh+hhmm. Los resultados pueden no ser confiables.