| Imprimir Abrir versión PDF de ayuda en línea

#### Funciones de fecha/hora de agenda Las funciones de fecha/hora de calendario manipulan datos en tipos de datos de fecha, hora y fecha/hora. (El tipo de dato fecha/hora es una combinación de fecha y hora.) ### Current_Date Devuelve la fecha actual. El equipo determina la fecha. El valor no contiene un componente de hora. Sintaxis: CURRENT_DATE ### ### Current_Time Devuelve la hora actual. El equipo determina la hora. El valor no contiene un componente de fecha. Nota: con esta función se obtiene la hora actual en el momento de ejecutar el informe. El uso de esta función con un área temática de análisis impide que el informe se almacene en la memoria caché, lo que reduce el rendimiento. Sintaxis: CURRENT_TIME (n) donde:
n | Cualquier entero que representa el número de dígitos de precisión con lo que se va a mostrar la fracción de segundos. El argumento es opcional; la función devuelve la precisión predeterminada cuando no se especifica ningún argumento.
### Current_TimeStamp Devuelve la fecha/hora actual. El equipo determina la fecha y la hora. Nota: con esta función se obtiene la hora actual en el momento de ejecutar el informe. El uso de esta función con un área temática de análisis impide que el informe se almacene en la memoria caché, lo que reduce el rendimiento. Sintaxis: CURRENT_TIMESTAMP (n) donde:
n | Cualquier entero que representa el número de dígitos de precisión con lo que se va a mostrar la fracción de segundos. El argumento es opcional; la función devuelve la precisión predeterminada cuando no se especifica ningún argumento.
### Day_Of_Quarter Devuelve un número (entre 1 y 92) que se corresponde al día del trimestre de la fecha especificada. Sintaxis: DAY_OF_QUARTER (expresión_fecha) donde:
date_expression | Cualquier expresión que se evalúa como una fecha.
### DayName Devuelve el nombre del día de la semana (en inglés) para una fecha especificada. Sintaxis: DAYNAME (date_expression) donde:
date_expression | Cualquier expresión que se evalúa como una fecha.
### DayOfMonth Devuelve el número que se corresponde al día del mes para una fecha especificada. Sintaxis: DAYOFMONTH (date_expression) donde:
date_expression | Cualquier expresión que se evalúa como una fecha.
### DayOfWeek Devuelve un número entre 1 y 7 que se corresponde con el día de la semana de una fecha especificada. El número 1 corresponde al domingo y el número 7 corresponde al sábado. Sintaxis: DAYOFWEEK (date_expression) donde:
date_expression | Cualquier expresión que se evalúa como una fecha.
### DayOfYear Devuelve el número (entre 1 y 366) que se corresponde con el día del año de una fecha especificada. Sintaxis: DAYOFYEAR (date_expression) donde:
date_expression | Cualquier expresión que se evalúa como una fecha.
### Hour Devuelve un número (entre 0 y 23) que se corresponde con la hora de un período de tiempo especificado. Por ejemplo, 0 se corresponde con 12 a.m. y 23 se corresponde con 11 p.m. Sintaxis: HOUR (time_expression) donde:
time_expression | Cualquier expresión que se evalúa como una hora.
### Minute Devuelve un número (entre 0 y 59) que se corresponde con los minutos de un período de tiempo especificado. Sintaxis: MINUTE (time_expression) donde:
time_expression | Cualquier expresión que se evalúa como una hora.
### Mes Devuelve el número (entre 1 y 12) que se corresponde con el mes de una fecha especificada. Sintaxis: MONTH (date_expression) donde:
date_expression | Cualquier expresión que se evalúa como una fecha.
### Month_Of_Quarter Devuelve el número (entre 1 y 3) que se corresponde con el mes del trimestre de una fecha especificada. Sintaxis: MONTH_OF_QUARTER (expresión_fecha) donde:
date_expression | Cualquier expresión que se evalúa como una fecha.
### MonthName Devuelve el nombre del mes (en inglés) de una fecha especificada. Sintaxis: MONTHNAME (date_expression) donde:
date_expression | Cualquier expresión que se evalúa como una fecha.
### Now Devuelve la fecha/hora actual. La función NOW es equivalente a la función CURRENT_TIMESTAMP. Nota: con esta función se obtiene la hora actual en el momento de ejecutar el informe. El uso de esta función con un área temática de análisis impide que el informe se almacene en la memoria caché, lo que reduce el rendimiento. Sintaxis: NOW () ### ### Quarter_Of_Year Devuelve un número (entre 1 y 4) que se corresponde al trimestre del año de la fecha especificada. Sintaxis: QUARTER_OF_YEAR (expresión_fecha) donde:
date_expression | Cualquier expresión que se evalúa como una fecha.
### Second Devuelve el número (entre 0 y 59) que se corresponde con los segundos de un período de tiempo especificado. Sintaxis: SECOND (time_expression) donde:
time_expression | Cualquier expresión que se evalúa como una hora.
### TimestampAdd La función TimestampAdd añade un número especificado de intervalos a una fecha/hora especificada. Se devuelve una única fecha/hora. Sintaxis: TimestampAdd (intervalo, expresión_entero, expresión_fecha/hora) donde:
interval | Intervalo especificado. Los valores válidos son los siguientes: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
integer_expression | Cualquier expresión que se evalúa como un entero. Es el número de intervalos que hay que agregar.
timestamp_expression | El valor de fecha/hora usado como la base del cálculo.
Una expresión entera nula o una expresión de fecha/hora nula pasada a esta función dará como resultado un valor de devolución nulo. En la situación más sencilla, esta función simplemente añade el valor entero especificado (expresión_entero) al componente apropiado del valor de fecha/hora, basado en el intervalo. Añadir una semana se traduce como añadir siete días y añadir un trimestre se traduce como añadir tres meses. Un valor entero negativo da como resultado una resta (retroceder en el tiempo). Un excedente del componente especificado (como más de 60 segundos, 24 horas, doce meses, etc.) tiene que sumar una cantidad apropiada al componente siguiente. Por ejemplo, cuando se añade al componente día un valor de fecha/hora, esta función lo considera un excedente y tiene en cuenta el número de días de un mes determinado (incluyendo los años bisiestos cuando febrero tiene 29 días). Cuando se añade al componente mes un valor de fecha/hora, esta función comprueba que la fecha/hora resultante tiene el suficiente número de días para el componente día. Por ejemplo, si se añade un mes a 2000-05-31 no da como resultado 2000-06-31 porque junio no tiene 31 días. Esta función reduce el componente día al último día del mes, 2000-06-30 en este ejemplo. Un problema similar surge cuando se añade al componente año de un valor de fecha/hora teniendo el componente mes de febrero y el componente día de 29 (es decir, el último día de febrero de un año bisiesto). Si el valor de fecha/hora resultante no cae en un año bisiesto, la función reduce el componente día a 28. A continuación se muestran ejemplos de la función TimestampAdd: El ejemplo de código siguiente pide el valor de fecha/hora resultante cuando se agregan tres días a 2000-02-27 14:30:00. Como febrero de 2000 es un año bisiesto, devuelve un único valor de fecha/hora de 2000-03-01 14:30:00. TimestampAdd(SQL_TSI_DAY, 3, TIMESTAMP‘2000-02-27 14:30:00’) El ejemplo de código siguiente pide el valor de fecha/hora resultante cuando se agregan 7 meses a 1999-07-31 0:0:0. Devuelve un único valor de fecha/hora de 2000-02-29 00:00:00. Observe la reducción del componente día a 29 debido a que febrero es un mes más corto. TimestampAdd(SQL_TSI_MONTH, 7, TIMESTAMP‘1999-07-31 00:00:00’) El ejemplo de código siguiente pide el valor de fecha/hora resultante cuando se agregan 25 minutos a 2000-07-31 23:35:00. Devuelve un único valor de fecha/hora de 2000-08-01 00:00:00. Observe la propagación del excedente a través del componente mes. TimestampAdd(SQL_TSI_MINUTE, 25, TIMESTAMP‘2000-07-31 23:35:00’) ### ### TimeStampDiff La función TimestampDiff devuelve el número total de intervalos especificados entre dos valores de fecha/hora. Sintaxis: TimestampDiff (intervalo, expresión1_fecha/hora, expresión2_fecha/hora) donde:
interval | Intervalo especificado. Los valores válidos son los siguientes: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
timestamp_expression1 | El valor de fecha/hora que se va a restar del segundo valor de fecha/hora.
timestamp_expression2 | El segundo valor de fecha/hora. expresión1_fecha/hora se resta de este valor de fecha/hora para determinar la diferencia.
Un parámetro de expresión de fecha/hora nula pasado a esta función dará como resultado un valor de devolución nulo. Esta función determina primero el componente de fecha/hora que se corresponde con el parámetro de intervalo especificado. Por ejemplo, SQL_TSI_DAY se corresponde al componente día y SQL_TSI_MONTH se corresponde al componente mes. La función busca entonces los componentes de orden superior de ambos valores de fecha/hora para calcular el número total de intervalos para cada valor de fecha/hora. Por ejemplo, si el intervalo especificado se corresponde con el componente mes, la función calcula el número total de meses para cada valor de fecha/hora añadiendo el componente mes y doce veces el componente año. Finalmente, la función resta el número total del primer valor de fecha/hora del número total del segundo valor de fecha/hora de intervalos. Al calcular la diferencia en días, la función trunca los valores de hora de las dos expresiones de fecha/hora y, a continuación, resta los valores de fecha. Al calcular la diferencia en semanas, la función calcula la diferencia en días y la divide por siete antes de redondearla. Al calcular la diferencia en trimestres, la función calcula la diferencia en meses y la divide por tres antes de redondearla. Al calcular la diferencia en años, la función calcula la diferencia en meses y la divide entre doce antes de redondearla. #### Ejemplo de la función TimestampDiff y resultados El ejemplo de código siguiente pide una diferencia en días entre valores de fecha/hora 1998-07-31 23:35:00 y 2000-04-01 14:24:00. Devuelve un valor de 610. Observe que el año bisiesto de 2000 da lugar a un día adicional. TimestampDIFF(SQL_TSI_DAY, TIMESTAMP‘1998-07-31 23:35:00’, TIMESTAMP‘2000-04-01 14:24:00’) ### ### Week_Of_Quarter Devuelve un número (entre 1 y 13) que se corresponde con el día de la semana del trimestre de la fecha especificada. Sintaxis: WEEK_OF_QUARTER (expresión_fecha) donde:
date_expression | Cualquier expresión que se evalúa como una fecha.
### Week_Of_Year Devuelve un número (entre 1 y 53) que se corresponde con el día de la semana del año de una fecha especificada. Sintaxis: WEEK_OF_YEAR (expresión_fecha) donde:
date_expression | Cualquier expresión que se evalúa como una fecha.
### Año Devuelve el año de la fecha especificada. Sintaxis: YEAR (date_expression) donde:
date_expression | Cualquier expresión que se evalúa como una fecha.
Ejemplo: YEAR (CURRENT_DATE)

Publicado en agosto 2022 | Copyright © 2005, 2022, Oracle y/o sus subsidiarias. Legal Notices.