![]() |
|
Funzioni data/ora di calendarioLe funzioni data/ora di calendario modificano i dati in tipi di dati per data, ora e datazione. (Il tipo di dati datazione è una combinazione di data e ora). Tutte le funzioni data sono conformi allo standard ISO 8601. Ciò influisce in modo particolare sulle funzioni quali Week_Of_Year e Week_Of_Quarter, in cui la settimana iniziale dell'anno è la prima settimana completa che include un giovedì. Per informazioni dettagliate sulle modalità di calcolo delle funzioni data, vedere lo standard ISO 8601. Current_DateRestituisce la data corrente. La data è determinata dal computer. Il valore non contiene un componente di ora. Sintassi: CURRENT_DATE Current_TimeRestituisce l'ora corrente. L'ora è determinata dal computer. Il valore non contiene un componente data. Nota: questa funzione ottiene l'ora corrente al momento dell'esecuzione del report. L'uso di questa funzione con un'area argomenti Analytics impedisce l'inserimento del report nella cache, con conseguente deterioramento delle prestazioni. Sintassi: CURRENT_TIME (n) dove:
Current_TimeStampRestituisce la data/datazione corrente. L'indicatore di data/ora è determinato dal computer. Nota: questa funzione ottiene l'ora corrente al momento dell'esecuzione del report. L'uso di questa funzione con un'area argomenti Analytics impedisce l'inserimento del report nella cache, con conseguente deterioramento delle prestazioni. Sintassi: CURRENT_TIMESTAMP (n) dove:
Day_Of_QuarterRestituisce un numero (tra 1 e 92) corrispondente al giorno del trimestre per la data specificata. Sintassi: DAY_OF_QUARTER (date_expression) dove:
DayNameRestituisce il nome del giorno della settimana (in inglese) per una data specificata. Sintassi: DAYNAME (espressione_data) dove:
DayOfMonthRestituisce il numero corrispondente al giorno del mese per una data specificata. Sintassi: DAYOFMONTH (espressione_data) dove:
DayOfWeekRestituisce un numero tra 1 e 7 corrispondente al giorno della settimana per una data specificata. Il numero 1 corrisponde a domenica, il numero 7 corrisponde a sabato. Sintassi: DAYOFWEEK (espressione_data) dove:
DayOfYearRestituisce il numero (tra 1 e 366) corrispondente al giorno dell'anno per una data specificata. Sintassi: DAYOFYEAR (espressione_data) dove:
HOURRestituisce un numero (tra 0 e 23) corrispondente all'ora per un'ora specificata. Ad esempio, 0 corrisponde alle 12,00 e 23 corrisponde alle 23,00. Sintassi: HOUR (espressione_ora) dove:
MINUTERestituisce un numero (tra 0 e 59) corrispondente al minuto per un'ora specificata. Sintassi: MINUTE (espressione_ora) dove:
MONTHRestituisce il numero (tra 1 e 12) corrispondente al mese per una data specificata. Sintassi: MONTH (espressione_data) dove:
Month_Of_QuarterRestituisce il numero (tra 1 e 3) corrispondente al mese nel trimestre per la data specificata. Sintassi: MONTH_OF_QUARTER (espressione_data) dove:
MonthNameRestituisce il nome del mese (in inglese) per una data specificata. Sintassi: MONTHNAME (espressione_data) dove:
NOWRestituisce la datazione corrente. La funzione NOW equivale alla funzione CURRENT_TIMESTAMP. Nota: questa funzione ottiene l'ora corrente al momento dell'esecuzione del report. L'uso di questa funzione con un'area argomenti Analytics impedisce l'inserimento del report nella cache, con conseguente deterioramento delle prestazioni. Sintassi: NOW () Quarter_Of_YearRestituisce il numero (tra 1 e 4) corrispondente al trimestre dell'anno per una data specificata. Sintassi: QUARTER_OF_YEAR (espressione_data) dove:
SECONDRestituisce il numero (tra 0 e 59) corrispondente ai secondi per un'ora specificata. Sintassi: SECOND (espressione_ora) dove:
TimestampAddLa funzione TimestampAdd aggiunge un numero di intervalli specificato a una datazione specificata. Viene restituita una singola datazione. Sintassi: TimestampAdd (intervallo, espressione_intero, espressione_data/ora) dove:
Un'espressione di numero intero o di datazione nulla passata a questa funzione produrrà un valore di restituzione nullo. Nello scenario più semplice, questa funzione aggiunge semplicemente il valore di numero intero specificato (integer_expression) al componente della datazione appropriato, in base all'intervallo. L'aggiunta di una settimana corrisponde all'aggiunta di sette giorni, l'aggiunta di un trimestre corrisponde all'aggiunta di tre mesi. Un valore di numero intero negativo produce una sottrazione (arretrando nel tempo). Un'eccedenza del componente specificato (ad esempio più di 60 secondi, di 24 ore, di dodici mesi e così via) necessita dell'aggiunta di una quantità appropriata al componente successivo. Ad esempio, quando si effettua un'aggiunta al componente del giorno di una datazione, questa funzione prende in considerazione l'eccedenza e il numero di giorni in un particolare mese (inclusi gli anni bisestili in cui febbraio è composto di 29 giorni). Quando si effettua un'aggiunta al componente del mese di una datazione, questa funzione verifica che la datazione risultante disponga di un numero di giorni sufficiente per il componente del giorno. Ad esempio, l'aggiunta di 1 mese a 2000-05-31 non produce 2000-06-31 perché giugno non è composto di 31 giorni. Questa funzione riduce il componente del giorno all'ultimo giorno del mese, 2000-06-30 in questo esempio. Un problema simile si verifica quando si effettua un'aggiunta al componente dell'anno di una datazione con un componente del mese di febbraio e componente del giorno di 29 (cioè, l'ultimo giorno di febbraio in un anno bisestile). Se la datazione risultante non rientra in un anno bisestile, la funzione riduce il componente del giorno a 28. Di seguito vengono riportati esempi della funzione TimestampAdd. Il seguente esempio di codice richiede la data e l'ora risultanti quando vengono aggiunti 3 giorni a 2000-02-27 14:30:00. Poiché Febbraio 2000 è un anno bisestile, viene restituito un solo indicatore orario 2000-03-01 14:30:00. TimestampAdd(SQL_TSI_DAY, 3, TIMESTAMP‘2000-02-27 14:30:00’) Il seguente esempio di codice richiede la datazione risultante quando 7 mesi vengono aggiunti a 1999-07-31 0:0:0. Questo restituisce una datazione singola di 2000-02-29 00:00:00. Notare la riduzione del componente del giorno a 29 perché il mese di febbraio è composto da un numero di giorni inferiore. TimestampAdd(SQL_TSI_MONTH, 7, TIMESTAMP‘1999-07-31 00:00:00’) Il seguente esempio di codice richiede la datazione risultante quando 25 minuti vengono aggiunti a 2000-07-31 23:35:00. Questo restituisce una datazione singola di 2000-08-01 00:00:00. Notare la propagazione dell'eccedenza al componente del mese. TimestampAdd(SQL_TSI_MINUTE, 25, TIMESTAMP‘2000-07-31 23:35:00’) TimeStampDiffLa funzione TimestampDiff restituisce il numero totale di intervalli specificati tra due datazioni. Sintassi: TimestampDiff (intervallo, espressione_data/ora1, espressione_data/ora2) dove:
Un parametro di espressione di datazione nullo passato a questa funzione produrrà un valore di restituzione nullo. Questa funzione determina prima il componente della datazione che corrisponde al parametro di intervallo specificato. Ad esempio, SQL_TSI_DAY corrisponde al componente del giorno e SQL_TSI_MONTH corrisponde al componente del mese. La funzione quindi utilizza i componenti di ordine superiore di entrambe le datazioni per calcolare il numero totale di intervalli per ciascuna datazione. Ad esempio, se l'intervallo specificato corrisponde al componente del mese, la funzione calcola il numero totale di mesi per ciascuna datazione mediante l'aggiunta del componente del mese e dodici volte il componente dell'anno. Infine, la funzione sottrae il numero totale di intervalli della prima datazione dal numero totale di intervalli della seconda datazione. Quando si calcola la differenza in giorni, la funzione tronca i valori dell'ora da entrambe le espressioni data/ora, quindi sottrae i valori della data. Quando si calcola la differenza in settimane, la funzione calcola la differenza in giorni e divide per sette prima di arrotondare. Quando si calcola la differenza in trimestri, la funzione calcola la differenza in mesi e divide per tre prima di arrotondare. Quando si calcola la differenza in anni, la funzione calcola la differenza in mesi e divide per dodici prima di arrotondare. Esempio della funzione TimestampDiff e risultatiIl seguente esempio di codice richiede una differenza in giorni tra le datazioni 1998-07-31 23:35:00 e 2000-04-01 14:24:00. Restituisce un valore di 610. Notare che l'anno bisestile nel 2000 produce un giorno aggiuntivo. TimestampDIFF(SQL_TSI_DAY, TIMESTAMP‘1998-07-31 23:35:00’, TIMESTAMP‘2000-04-01 14:24:00’) Week_Of_QuarterRestituisce un numero (tra 1 e 13) corrispondente alla settimana del trimestre per la data specificata. Sintassi: WEEK_OF_QUARTER (espressione_data) dove:
Week_Of_YearRestituisce un numero (tra 1 e 53) corrispondente alla settimana dell'anno per la data specificata. Sintassi: WEEK_OF_YEAR (espressione_data) dove:
AnnoRestituisce l'anno per la data specificata. Sintassi: YEAR (espressione_data) dove:
Esempio: YEAR (CURRENT_DATE) |
Data di pubblicazione : agosto 2018 | Copyright © 2005, 2018, Oracle. Tutti i diritti riservati. Legal Notices. |