Sintaxis
extract_datetime :: =
Descripción de la ilustración extract_datetime.gif
Propósito
EXTRACT
extrae y devuelve el valor de un campo de fecha y hora especificado de una expresión de valor de fecha y hora o intervalo. Cuando extrae un TIMEZONE_REGION
o TIMEZONE_ABBR
(abreviatura), el valor devuelto es una cadena que contiene el nombre o la abreviatura de la zona horaria correspondiente. Cuando extrae cualquiera de los otros valores, el valor devuelto está en el calendario gregoriano. Al extraer de una fecha y hora con un valor de zona horaria, el valor devuelto está en UTC. Para obtener una lista de los nombres de las zonas horarias y sus correspondientes abreviaturas, consulte la V$TIMEZONE_NAMES
vista de rendimiento dinámico.
Esta función puede ser muy útil para manipular los valores de los campos de fecha y hora en muy tablas grandes, como se muestra en el primer ejemplo a continuación.
Nota:
La función de horario de verano necesita los nombres de las regiones horarias. Los nombres de las regiones se almacenan en dos archivos de zona horaria. El archivo de zona horaria predeterminado es un archivo pequeño que contiene solo las zonas horarias más comunes para maximizar el rendimiento. Si su zona horaria no está en el archivo predeterminado, entonces no tendrá soporte para el horario de verano hasta que proporcione una ruta al archivo completo (más grande) por medio de la variable de entorno ORA_TZFILE
.
Algunas combinaciones de campo de fecha y hora y expresión de valor de fecha y hora o de intervalo dan como resultado ambigüedad. En estos casos, Oracle Database devuelve UNKNOWN
(consulte los ejemplos que siguen para obtener información adicional).
El campo que está extrayendo debe ser un campo de datetime_value_expr
o interval_value_expr
. Por ejemplo, solo puede extraer YEAR
, MONTH
y DAY
de un DATE
valor. Del mismo modo, puede extraer TIMEZONE_HOUR
y TIMEZONE_MINUTE
solo de TIMESTAMP
WITH
TIME
ZONE
tipo de datos.
Ver también:
-
Guía del administrador de la base de datos de Oracle para obtener más información sobre cómo configurar la
ORA_TZFILE
variable de entorno -
Oracle Guía de soporte de globalización de bases de datos. Para obtener una lista completa de los nombres de las regiones de zonas horarias en ambos archivos.
-
«Aritmética de fecha y hora / intervalo» para obtener una descripción de
datetime_value_expr
yinterval_value_expr
-
Referencia de la base de datos Oracle para obtener información sobre las vistas de rendimiento dinámico
Ejemplos
El siguiente ejemplo devuelve de la tabla oe.orders
el número de pedidos realizados en cada mes:
El siguiente ejemplo devuelve el año 1998.
SELECT EXTRACT(YEAR FROM DATE "1998-03-07") FROM DUAL;EXTRACT(YEARFROMDATE"1998-03-07")--------------------------------- 1998
Los siguientes ejemplos s elige de la tabla de muestra hr.employees
todos los empleados que fueron contratados después de 1998:
El siguiente ejemplo genera ambigüedad, por lo que Oracle devuelve UNKNOWN
:
La ambigüedad surge porque el desplazamiento numérico de la zona horaria se proporciona en la expresión, y ese desplazamiento numérico se puede asignar a más de una región de la zona horaria.