Función EXTRACT

La función EXTRACT extrae campos (o calcula valores) de los valores de fecha y hora y de los intervalos.

El resultado es INTEGER para las extracciones de YEAR, MONTH, DAY, HOUR, MINUTE, DAYS, DAYOFYEAR, DAYOFWEEK, MONTHS, QUARTEROFYEAR, QUARTERS, WEEKS, WEEKOFYEAR, y WEEKOFMONTH, pero FLOAT para las extracciones de SECOND y BOOLEAN para las extracciones de ISLEAPYEAR. Si FechaOrigen es NULL, el resultado es NULL independientemente del tipo de extracción.

SINTAXIS

EXTRACT extrae campos individuales de los valores de fecha y hora y de los intervalos. Puede extraer un campo sólo si está presente en el valor de fecha y hora especificado en el segundo parámetro. Se genera un error durante el análisis o la ejecución si el campo solicitado no existe en el tipo de datos.

La tabla siguiente describe las extracciones que se soportan en la Versión 6.0:
Nota: Todos los valores enteros nuevos empiezan por 1.
Tabla 1.
Extracción Descripción
YEAR Año
MONTH Mes
DAY Día
HOUR Hora
MINUTE (minuto) Minuto
SECOND (segundo) Segundo
DAYS Días entre el 1 de enero de 0001 y la FechaOrigen.
DAYOFYEAR Día del año
DAYOFWEEK Día de la semana: Domingo = 1, Lunes = 2, Martes = 3, Miércoles = 4, Jueves = 5, Viernes = 6, Sábado = 7.
MONTHS Meses entre el 1 de enero de 0001 y la FechaOrigen.
QUARTEROFYEAR Trimestre del año: enero a marzo = 1, abril a junio = 2, julio a septiembre = 3, octubre a diciembre = 4.
QUARTERS Trimestres entre el 1 de enero de 0001 y la FechaOrigen.
WEEKS Semanas entre el 1 de enero de 0001 y la FechaOrigen.
WEEKOFYEAR Semana del año
WEEKOFMONTH Semana del mes
ISLEAPYEAR Si es un año bisiesto.
Notas:
  1. Una semana se define de domingo a sábado, no cualquier serie de siete días consecutivos. Si es necesario, debe convertir a un esquema de representación alternativo.
  2. El periodo de tiempo de fecha origen es el 1 de enero de 0001. Las fechas anteriores a este periodo no son válidas para esta función.
  3. Para los cálculos se utiliza el calendario gregoriano.

Ejemplo

EXTRACT(YEAR FROM CURRENT_DATE)
y
EXTRACT(HOUR FROM LOCAL_TIMEZONE)
se ejecutan sin errores, pero
EXTRACT(DAY FROM CURRENT_TIME)
da error.
EXTRACT (DAYS FROM DATE '2000-02-29')
calcula el número de días entre el año 1 y '2000-02-29', y
EXTRACT (DAYOFYEAR FROM CURRENT_DATE)
calcula el número de días transcurridos desde el inicio del año actual, pero
EXTRACT (DAYOFYEAR FROM CURRENT_TIME)
falla porque CURRENT_TIME no contiene información de fecha.
Conceptos relacionados
Visión general de ESQL
Tareas relacionadas
Desarrollo de ESQL
Referencia relacionada
Diagramas de sintaxis: tipos disponibles
Funciones de fecha y hora ESQL
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ak05420_