Función EXTRACT - AWS Clean Rooms

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Función EXTRACT

La función EXTRACT devuelve una parte de fecha u hora a partir de un valor TIMESTAMP, TIMESTAMPTZ, TIME o TIMETZ. Algunos ejemplos son día, mes, año, hora, minuto, segundo, milisegundo o microsegundo de una marca de tiempo.

Sintaxis

EXTRACT(datepart FROM source)

Argumentos

datepart

El subcampo de una fecha u hora que se va a extraer, como día, mes, año, hora, minuto, segundo, milisegundo o microsegundo. Para obtener los valores posibles, consulte Partes de fecha para funciones de fecha o marca temporal.

origen

Una columna o una expresión que se evalúa como un tipo de datos TIMESTAMP, TIMESTAMPTZ, TIME o TIMETZ.

Tipo de retorno

INTEGER si el valor de origen se evalúa como tipo de datos TIMESTAMP, TIME o TIMETZ.

DOUBLE PRECISION si el valor de origen se evalúa como el tipo de datos TIMESTAMPTZ.

Ejemplos con TIMESTAMP

En el siguiente ejemplo, se determinan los números de las semanas para las ventas en las que el precio pagado fue 10 000 USD o más.

select salesid, extract(week from saletime) as weeknum from sales where pricepaid > 9999 order by 2; salesid | weeknum --------+--------- 159073 | 6 160318 | 8 161723 | 26

En el siguiente ejemplo, se devuelve el valor de minutos de un valor de marca temporal literal.

select extract(minute from timestamp '2009-09-09 12:08:43'); date_part --

En el siguiente ejemplo, se devuelve el valor de milisegundos de un valor timestamp literal.

select extract(ms from timestamp '2009-09-09 12:08:43.101'); date_part ----------- 101

Ejemplos con TIMESTAMPTZ

En el siguiente ejemplo, se devuelve el valor de año de un valor timestamptz literal.

select extract(year from timestamptz '1.12.1997 07:37:16.00 PST'); date_part ----------- 1997

Ejemplos con TIME

La siguiente tabla de ejemplo, TIME_TEST, tiene una columna TIME_VAL (tipo TIME) con tres valores insertados.

select time_val from time_test; time_val --------------------- 20:00:00 00:00:00.5550 00:58:00

En el siguiente ejemplo, se extraen los minutos de cada time_val.

select extract(minute from time_val) as minutes from time_test; minutes ----------- 0 0 58

En el siguiente ejemplo, se extraen las horas de cada time_val.

select extract(hour from time_val) as hours from time_test; hours ----------- 20 0 0

En el siguiente ejemplo, se extraen los milisegundos de un valor literal.

select extract(ms from time '18:25:33.123456'); date_part ----------- 123

Ejemplos con TIMETZ

La siguiente tabla de ejemplo, TIMETZ_TEST, tiene una columna TIMETZ_VAL (tipo TIMETZ) con tres valores insertados.

select timetz_val from timetz_test; timetz_val ------------------ 04:00:00+00 00:00:00.5550+00 05:58:00+00

En el siguiente ejemplo, se extraen las horas de cada timetz_val.

select extract(hour from timetz_val) as hours from time_test; hours ----------- 4 0 5

En el siguiente ejemplo, se extraen los milisegundos de un valor literal. Los literales no se convierten a UTC antes de que se procese la extracción.

select extract(ms from timetz '18:25:33.123456 EST'); date_part ----------- 123

En el siguiente ejemplo, se devuelve la hora de desfase horario respecto a UTC a partir de un valor timetz literal.

select extract(timezone_hour from timetz '1.12.1997 07:37:16.00 PDT'); date_part ----------- -7