Funciones de fecha y hora
CLEM incluye un grupo de funciones para la gestión de campos con almacenamiento de fecha y hora de variables de cadena que representan fechas y horas. Los formatos de fecha y hora utilizados son específicos de cada ruta y se especifican en el cuadro de diálogo de propiedades de la ruta. Las funciones de fecha y hora analizan las cadenas de fecha y hora en función del formato seleccionado actualmente.
Cuando se especifica un año en una fecha que utiliza sólo dos dígitos (es decir, el siglo no se especifica), IBM® SPSS Modeler utiliza el siglo predeterminado que se ha especificado en el cuadro de diálogo de propiedades de la ruta.
Nota: Si la función de datos se retrotrae a SQL o IBM SPSS Analytic Server, en una rama que siga un origen de datos de Analytic Server, las cadenas de formato de fecha (to_date) en dichos datos deben coincidir con el formato de fecha especificado en la ruta de SPSS Modeler.
| Función | Resultado | Descripción |
|---|---|---|
@TODAY |
Cadena | Si selecciona Admitir fecha/mín. negativos en el cuadro de diálogo de propiedades de la ruta, esta función devuelve la fecha actual, como una cadena, con el formato de fecha actual. Si utiliza un formato de fecha de dos dígitos y no selecciona Admitir fecha/mín. negativos, esta función devuelve $null$ en el servidor actual. |
to_time(ELEMENTO) |
Hora | Convierte el almacenamiento del campo especificado en una hora. |
to_date(ELEMENTO) |
Fecha | Convierte el almacenamiento del campo especificado en una fecha. |
to_timestamp(ELEMENTO) |
Marca de tiempo | Convierte el almacenamiento del campo especificado en una marca de tiempo. |
to_datetime(ELEMENTO) |
Momento_fecha | Convierte el almacenamiento del campo especificado en una fecha, hora o marca de tiempo. |
datetime_date(ELEMENTO) |
Fecha | Devuelve el valor de fecha de un número, cadena o marca de tiempo. Tenga en cuanta que es la única función que le permite volver a convertir un número (en segundos) en una fecha. Si ELEMENTO es una cadena, crea una fecha analizando una cadena en el formato de fecha actual.
El formato de fecha especificado en el cuadro de diálogo de propiedades de la ruta debe ser correcto para que esta función se ejecute correctamente. Si ELEMENTO es un número, se interpreta como un número de segundos desde la fecha de base (o época). Las fracciones de un día se truncan. Si ELEMENTO es una marca de tiempo, la parte de la fecha de la marca de tiempo se devuelve. Si ELEMENTO es una fecha, se devuelve sin modificar. |
date_before(FECHA1, FECHA2) |
Booleana | Devuelve un valor de verdadero si FECHA1 representa una fecha o marca de tiempo anterior a la representada por FECHA2. En el resto de los casos, esta función devuelve 0. |
date_days_difference(FECHA1, FECHA2) |
Entero | Devuelve el tiempo en días desde la fecha o marca de tiempo representada por FECHA1 hasta la fecha representada por FECHA2, como un entero. Si FECHA2 es anterior a FECHA1, esta función devuelve un número negativo. |
date_in_days(FECHA) |
Entero | Devuelve el tiempo en días desde la fecha de línea base hasta la fecha o marca de tiempo representada por FECHA, como un entero. Si FECHA es anterior a la fecha de línea base, esta función devuelve un número negativo. Debe incluir una fecha válida para que el cálculo se realice correctamente. Por ejemplo, no debe especificar 29 de febrero de 2001 como fecha. Dado que 2001 no es un año bisiesto, esta fecha no existe. |
date_in_months(FECHA) |
Real | Devuelve el tiempo en meses desde la fecha de línea base hasta la fecha o marca de tiempo representada por FECHA, como un número real. Esta cifra es aproximada; se basa en un mes de 30.4375 días. Si FECHA es anterior a la fecha de línea base, esta función devuelve un número negativo. Debe incluir una fecha válida para que el cálculo se realice correctamente. Por ejemplo, no debe especificar 29 de febrero de 2001 como fecha. Dado que 2001 no es un año bisiesto, esta fecha no existe. |
date_in_weeks(FECHA) |
Real | Devuelve el tiempo en semanas desde la fecha de línea base hasta la fecha o marca de tiempo representada por FECHA, como un número real. Éste se basa en una semana de 7,0 días. Si FECHA es anterior a la fecha de línea base, esta función devuelve un número negativo. Debe incluir una fecha válida para que el cálculo se realice correctamente. Por ejemplo, no debe especificar 29 de febrero de 2001 como fecha. Dado que 2001 no es un año bisiesto, esta fecha no existe. |
date_in_years(FECHA) |
Real | Devuelve el tiempo en años desde la fecha de línea base hasta la fecha o marca de tiempo representada por FECHA, como un número real. Esta cifra es aproximada; se basa en un año de 365.25 días. Si FECHA es anterior a la fecha de línea base, esta función devuelve un número negativo. Debe incluir una fecha válida para que el cálculo se realice correctamente. Por ejemplo, no debe especificar 29 de febrero de 2001 como fecha. Dado que 2001 no es un año bisiesto, esta fecha no existe. |
date_months_difference (FECHA1, FECHA2) |
Real | Devuelve el tiempo en meses desde la fecha o marca de tiempo representada por FECHA1 hasta la fecha representada por FECHA2, como un número real. Esta cifra es aproximada; se basa en un mes de 30.4375 días. Si FECHA2 es anterior a FECHA1, esta función devuelve un número negativo. |
datetime_date(AÑO, MES, DÍA) |
Fecha | Crea un valor de fecha para los valores AÑO, MES y DÍA especificados. Los argumentos deben ser enteros. |
datetime_day(FECHA) |
Entero | Devuelve el día del mes de una FECHA o marca de tiempo especificada. El resultado es un entero comprendido entre 1 y 31. |
datetime_day_name(DÍA) |
Cadena | Devuelve el nombre completo del DÍA especificado. El argumento debe ser un entero comprendido entre 1 (domingo) y 7 (sábado). |
datetime_hour(TIEMPO) |
Entero | Devuelve la hora de una HORA o marca de tiempo. El resultado es un entero comprendido entre 0 y 23. |
datetime_in_seconds(TIEMPO) |
Real | Devuelve la segunda parte almacenada en TIEMPO. |
datetime_in_seconds(FECHA), datetime_in_seconds(MOMENTO DE FECHA) |
Real | Devuelve el número acumulado, convertido en segundos, desde la diferencia entre la FECHA o MOMENTO DE FECHA actual y la fecha de línea base (01-01-1900). |
datetime_minute(TIEMPO) |
Entero | Devuelve el minuto de una HORA o marca de tiempo. El resultado es un entero comprendido entre 0 y 59. |
datetime_month(FECHA) |
Entero | Devuelve el mes de una FECHA o marca de tiempo. El resultado es un entero comprendido entre 1 y 12. |
datetime_month_name (MES) |
Cadena | Devuelve el nombre completo del MES especificado. El argumento debe ser un entero comprendido entre 1 y 12. |
datetime_now |
Marca de tiempo | Devuelve la hora actual como una marca de tiempo. |
datetime_second(TIEMPO) |
Entero | Devuelve el segundo de una HORA o marca de tiempo. El resultado es un entero comprendido entre 0 y 59. |
datetime_day_short_name (DÍA) |
Cadena | Devuelve el nombre abreviado del DÍA especificado. El argumento debe ser un entero comprendido entre 1 (domingo) y 7 (sábado). |
datetime_month_short_name (MES) |
Cadena | Devuelve el nombre abreviado del MES especificado. El argumento debe ser un entero comprendido entre 1 y 12. |
datetime_time(HORA, MINUTO, SEGUNDO) |
Hora | Devuelve el valor de tiempo para los valores HORA, MINUTO y SEGUNDO especificados. Los argumentos deben ser enteros. |
datetime_time(ELEMENTO) |
Hora | Devuelve el valor de tiempo del ELEMENTO especificado. |
datetime_timestamp(AÑO, MES, DÍA, HORA, MINUTO, SEGUNDO) |
Marca de tiempo | Devuelve el valor de marca de tiempo para los valores AÑO, MES, DÍA, HORA, MINUTO y SEGUNDO especificados. |
datetime_timestamp(FECHA, TIEMPO) |
Marca de tiempo | Devuelve el valor de marca de tiempo para los valores FECHA y HORA especificados. |
datetime_timestamp (NÚM) |
Marca de tiempo | Devuelve el valor de marca de tiempo del número especificado de segundos. |
datetime_weekday(FECHA) |
Entero | Devuelve el día de la semana a partir de la FECHA o marca de tiempo especificada. |
datetime_year(FECHA) |
Entero | Devuelve el año a partir de una FECHA o marca de tiempo. El resultado es un entero como, por ejemplo, 2002. |
date_weeks_difference (FECHA1, FECHA2) |
Real | Devuelve el tiempo en semanas desde la fecha o marca de tiempo representada por FECHA1 hasta la fecha representada por FECHA2, como un número real. Éste se basa en una semana de 7,0 días. Si FECHA2 es anterior a FECHA1, esta función devuelve un número negativo. |
date_years_difference (FECHA1, FECHA2) |
Real | Devuelve el tiempo en años desde la fecha o marca de tiempo representada por FECHA1 hasta la fecha representada por FECHA2, como un número real. Esta cifra es aproximada; se basa en un año de 365.25 días. Si FECHA2 es anterior a FECHA1, esta función devuelve un número negativo. |
date_from_ywd(YEAR, WEEK, DAY) |
Entero | Convierte el año, semana del año y día de la semana a una fecha utilizando el estándar ISO 8601. |
date_iso_day(DATE) |
Entero | Devuelve el día de la semana a partir de la fecha utilizando el estándar ISO 8601. |
date_iso_week(DATE) |
Entero | Devuelve la semana del año a partir de la fecha utilizando el estándar ISO 8601. |
date_iso_year(DATE) |
Entero | Devuelve el año a partir de la fecha utilizando el estándar ISO 8601. |
time_before(TIEMPO1, TIEMPO2) |
Booleana | Devuelve un valor verdadero si HORA1 representa una hora o marca de tiempo anterior a la representada por HORA2. En el resto de los casos, esta función devuelve 0. |
time_hours_difference (TIEMPO1, TIEMPO2) |
Real | Devuelve el número de horas de diferencia que hay entre las horas o marcas de tiempo representadas por HORA1 y HORA2, como un número real. Si selecciona Admitir fecha/mín. negativos en el cuadro de diálogo de propiedades de la ruta, se toma un valor superior de HORA1 para hacer referencia al día anterior. Si no selecciona la opción de admisión de negativos, un valor superior de HORA1 hará que el valor devuelto sea negativo. |
time_in_hours(TIEMPO) |
Real | Devuelve el número de horas representado por HORA, como un número real. Por ejemplo, con el formato de hora HHMM, la expresión time_in_hours('0130') se evalúa como 1,5. HORA puede representar una hora o una marca de tiempo. |
time_in_mins(TIEMPO) |
Real | Devuelve el número de minutos representado por HORA, como un número real. HORA puede representar una hora o una marca de tiempo. |
time_in_secs(TIEMPO) |
Entero | Devuelve el número de segundos representado por HORA, como un entero. HORA puede representar una hora o una marca de tiempo. |
time_mins_difference(TIEMPO1, TIEMPO2) |
Real | Devuelve el número de minutos de diferencia que hay entre las horas o marcas de tiempo representadas por HORA1 y HORA2, como un número real. Si selecciona Admitir fecha/mín. negativos en el cuadro de diálogo de propiedades de la ruta, se toma un valor superior de HORA1 para hacer referencia al día anterior (o la hora anterior, si sólo se especifican minutos y segundos en el formato actual). Si no selecciona la opción de admisión de negativos, un valor superior de HORA1 hará que el valor devuelto sea negativo. |
time_secs_difference(TIEMPO1, TIEMPO2) |
Entero | Devuelve el número de segundos de diferencia que hay entre las horas o marcas de tiempo representadas por HORA1 y HORA2, como un entero. Si selecciona Admitir fecha/mín. negativos en el cuadro de diálogo de propiedades de la ruta, se toma un valor superior de HORA1 para hacer referencia al día anterior (o la hora anterior, si sólo se especifican minutos y segundos en el formato actual). Si no selecciona la opción de admisión de negativos, un valor superior de HORA1 hará que el valor devuelto sea negativo. |