EXTRACT (datetime) (Italiano)

Sintassi

extract_datetime :: =

Descrizione dell’illustrazione extract_datetime.gif

Scopo

EXTRACT estrae e restituisce il valore di un campo data / ora specificato da un’espressione di valore data / ora o intervallo. Quando estrai un TIMEZONE_REGION o TIMEZONE_ABBR (abbreviazione), il valore restituito è una stringa contenente il nome o l’abbreviazione del fuso orario appropriato. Quando si estrae uno qualsiasi degli altri valori, il valore restituito è nel calendario gregoriano. Quando si estrae da un datetime con un valore di fuso orario, il valore restituito è in UTC. Per un elenco dei nomi dei fusi orari e delle abbreviazioni corrispondenti, eseguire una query nella V$TIMEZONE_NAMES visualizzazione dinamica delle prestazioni.

Questa funzione può essere molto utile per manipolare i valori dei campi data / ora in molto tabelle di grandi dimensioni, come mostrato nel primo esempio di seguito.

Nota:

I nomi delle regioni del fuso orario sono necessari per la funzione di ora legale. I nomi delle regioni vengono memorizzati in due file di fuso orario. Il file del fuso orario predefinito è un piccolo file contenente solo i fusi orari più comuni per massimizzare le prestazioni. Se il tuo fuso orario non è nel file predefinito, non avrai supporto per l’ora legale finché non fornirai un percorso al file completo (più grande) tramite la variabile di ambiente ORA_TZFILE.

Alcune combinazioni di campo datetime ed espressione di valore datetime o intervallo risultano in ambiguità. In questi casi, Oracle Database restituisce UNKNOWN (vedere gli esempi che seguono per ulteriori informazioni).

Il campo che si sta estraendo deve essere un campo del datetime_value_expr o interval_value_expr. Ad esempio, puoi estrarre solo YEAR, MONTH e DAY da un DATE valore. Allo stesso modo, puoi estrarre TIMEZONE_HOUR e TIMEZONE_MINUTE solo da TIMESTAMP WITH TIME ZONE tipo di dati.

Vedi anche:

  • Guida dell’amministratore del database Oracle per ulteriori informazioni sull’impostazione della ORA_TZFILE variabile di ambiente

  • Oracle Database Globalization Support Guide. Per un elenco completo dei nomi delle regioni del fuso orario in entrambi i file

  • “Datetime / Interval Arithmetic” per una descrizione di datetime_value_expr e interval_value_expr

  • Oracle Database Reference per informazioni sulle visualizzazioni dinamiche delle prestazioni

Esempi

Il seguente esempio restituisce dalla tabella oe.orders il numero di ordini effettuati in ogni mese:

L’esempio seguente restituisce l’anno 1998.

SELECT EXTRACT(YEAR FROM DATE "1998-03-07") FROM DUAL;EXTRACT(YEARFROMDATE"1998-03-07")--------------------------------- 1998

L’esempio seguente s seleziona dalla tabella di esempio hr.employees tutti i dipendenti che sono stati assunti dopo il 1998:

L’esempio seguente genera ambiguità, quindi Oracle restituisce UNKNOWN:

L’ambiguità sorge perché nell’espressione viene fornito l’offset numerico del fuso orario e tale offset numerico può mappare più di una regione del fuso orario.

Leave a Reply

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *