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