Extraer valores de fecha y hora
La tabla siguiente describe los valores de fecha y hora:
| Valor | Descripción |
|---|---|
| epoch | El número de segundos desde 1970-01-01 00:00:00-00. El valor puede ser positivo o negativo. |
| millennium/millenniums | El milenio; por ejemplo, 2 para una fecha entre el 01 de enero de 2000 y el 31 de diciembre de 2999. |
| century/centuries | El número de periodos de 100 años representado por el año; por ejemplo, 20 para una fecha entre el 01 de enero de 2000 y el 31 de diciembre de 2099. |
| decade/decades | El número de periodos de 10 años representado por el año; por ejemplo, 201 para una fecha entre el 01 de enero de 2010 y el 31 de diciembre de 2019. |
| year/years | El año; por ejemplo, 2015. |
| quarter | El trimestre del año (1 - 4) en el que está especificado el día. |
| month/months | El número del mes dentro del año (1 - 12). |
| semana | El número de la semana del año (1 - 53) en el que está especificado el día. El valor utiliza la definición ISO-8601 de una semana, que comienza en lunes; como resultado, puede que algunos años tengan 53 semanas y, a veces, los primeros días de enero pueden incluirse como parte de la semana 52 o 53 del año anterior. |
| day/days | El día del mes (1 a 31). |
| dow | El día de la semana, de 1 (Domingo) a 7 (Sábado). |
| doy | El día del año (1 - 366). |
| hour/hours | Hora del día (de 0 a 23). |
| minute/minutes | Minuto de la hora (de 0 a 59). |
| second/seconds | Segundo del minuto, sin icluir partes fraccionales (de 0 a 59). |
| millisecond/milliseconds | Segundo del minuto, incluidas las partes fraccionales hasta una milésima de segundo, multiplicado por 1000 (de 0 a 59999). |
| microsecond/microseconds | Segundo del minuto, incluidas las partes fraccionales hasta una millonésima de segundo, multiplicado por 1000000 (de 0 a 59999999). |
Netezza Performance Server SQL no admite valores de zona horaria*.
Por ejemplo:
- SELECT EXTRACT(DAY FROM TIMESTAMP '2007-02-14 20:38:40.24');
- Resultado: 14
- SELECT EXTRACT(SECONDS FROM TIMESTAMP '2007-02-14 12:15:06.123456');
- Resultado: 6
- SELECT EXTRACT(MILLISECONDS FROM TIMESTAMP '2007-02-14 12:15:06.123456');
- Resultado: 6123
- SELECT EXTRACT(MICROSECONDS FROM TIMESTAMP '2007-02-14 12:15:06.123456');
- Resultado: 6123456
- SELECT DATE_PART('DAY', DATE '2007-02-18');
- Resultado: 18
- SELECT DATE_PART('YEAR', 20130710);
- Resultado: 1970. (Esta es la parte del año de la fecha, que es 20130710 segundos después de la época, 00:00:00 UTC el 1 de enero de 1970.)
- SELECT DATE_PART('HOUR', 075569::numeric(6,0));
- Resultado: 7
- SELECT DATE_PART('MONTH', 20150705::numeric(8,0));
- Resultado: 7
No todas las unidades
se pueden utilizar para extraer valores de un tipo de datos temporales concreto. La tabla siguiente indica qué unidades se pueden extraer de cada
tipo de datos temporales.
| unidades | Tipo de datos temporales | |||||||
|---|---|---|---|---|---|---|---|---|
| Fecha | Hora | Zona horaria | Indicación de fecha y hora | Intervalo | Hora
" duración |
Fecha
" duración |
Timestamp
duration |
|
| epoch | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| millennium/millenniums | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| century/centuries | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| decade/decades | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| year/years | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| quarter | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| month/months | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| semana | ✓ | ✓ | ✓ | |||||
| day/days | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| doy | ✓ | ✓ | ✓ | |||||
| dow | ✓ | ✓ | ✓ | |||||
| hour/hours | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| minute/minutes | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| second/seconds | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| millisecond/milliseconds | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| microsecond/microseconds | ✓ | ✓ | ✓ | ✓ | ✓ | |||