Estrarre i valori di data e ora
La tabella seguente descrive i valori di data e ora:
| Valore | Descrizione |
|---|---|
| epoch | Il numero di secondi dal 1970-01-01 00:00:00-00. Il valore può essere positivo o negativo. |
| millennio/millenni | Il millennio; ad esempio, 2 per una data compresa tra il 1° gennaio 2000 e il 31 dicembre 2999. |
| secolo/centuri | Il numero di periodi completi di 100 anni rappresentati dall'anno; ad esempio, 20 per una data compresa tra il 1° gennaio 2000 e il 31 dicembre 2099. |
| decennio/decenni | Il numero di periodi completi di 10 anni rappresentati dall'anno; ad esempio, 201 per una data compresa tra il 1° gennaio 2010 e il 31 dicembre 2019. |
| anno/anni | L'anno; ad esempio, 2015. |
| trimestre | Il trimestre dell'anno (1 - 4) in cui si trova il giorno specificato. |
| mese/mesi | Il numero del mese all'interno dell'anno (1 - 12). |
| settimana | Il numero della settimana dell'anno (1 - 53) in cui si trova il giorno specificato. Il valore utilizza la definizione di settimana di ISO-8601, che inizia il lunedì; di conseguenza, alcuni anni potrebbero avere 53 settimane e talvolta i primi giorni di gennaio possono essere inclusi come parte della 52a o 53a settimana dell'anno precedente. |
| giorno/giorni | Il giorno del mese (1 - 31). |
| Giorno della settimana | Il giorno della settimana, da 1 (domenica) a 7 (sabato). |
| doy | Il giorno dell'anno (1 - 366). |
| ora/ore | L'ora del giorno (0 - 23). |
| minuti/minuti | I minuti dell'ora (0 - 59). |
| secondo/secondi | Il secondo del minuto, escluse le parti frazionarie (0 - 59). |
| millisecondo/millisecondi | Il secondo del minuto, comprese le parti frazionarie fino al millesimo di secondo, moltiplicato per 1000 (0 - 59999). |
| microsecondo/microsecondi | Il secondo del minuto, comprese le frazioni fino a un milionesimo di secondo, moltiplicato per 1000000 (0 - 59999999). |
Netezza Performance Server SQL non supporta i valori di fuso orario*.
Ad esempio:
- SELEZIONARE EXTRACT(DAY FROM TIMESTAMP '2007-02-14 20:38:40.24');
- Risultato: 14
- SELEZIONARE EXTRACT(SECONDS DA TIMESTAMP '2007-02-14 12:15:06.123456');
- Risultato: 6
- SELEZIONARE EXTRACT(MILLISECONDI DA TIMESTAMP '2007-02-14 12:15:06.123456');
- Risultato: 6123
- SELEZIONARE EXTRACT(MICROSECONDI DA TIMESTAMP '2007-02-14 12:15:06.123456');
- Risultato: 6123456
- SELEZIONARE DATE_PART('GIORNO', DATA '2007-02-18');
- Risultato: 18
- SELEZIONARE DATE_PART('ANNO', 20130710);
- Risultato: 1970 (questa è la parte di anno della data che si trova 20130710 secondi dopo l'epoca, 00:00:00 UTC del 1° gennaio 1970)
- SELECT DATE_PART('ORA', 075569::numeric(6,0));
- Risultato: 7
- SELEZIONARE DATE_PART('MONTH', 20150705::numeric(8,0));
- Risultato: 7
Non tutte le unità possono essere utilizzate per estrarre valori da un particolare tipo di dati temporali. La tabella seguente indica quali unità possono essere estratte da ciascun tipo di dati temporali.
| Unità | Tipo di dati temporali | |||||||
|---|---|---|---|---|---|---|---|---|
| Data | Ora | Fuso orario | Data/ora | Intervallo | Tempo
durata |
Data
durata |
Timestamp
durata |
|
| epoch | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| millennio/millenni | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| secolo/centuri | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| decennio/decenni | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| anno/anni | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| trimestre | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| mese/mesi | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| settimana | ✓ | ✓ | ✓ | |||||
| giorno/giorni | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| doy | ✓ | ✓ | ✓ | |||||
| Giorno della settimana | ✓ | ✓ | ✓ | |||||
| ora/ore | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| minuti/minuti | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| secondo/secondi | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| millisecondo/millisecondi | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| microsecondo/microsecondi | ✓ | ✓ | ✓ | ✓ | ✓ | |||