Funzioni

Utilizzare le funzioni per accedere a routine specifiche da SQL. Accettano uno o più argomenti e restituiscono un risultato. La tabella seguente descrive le funzioni.
Tabella 1. funzioni
Nome Descrizione
maiuscolo/minuscolo Modulo ricercato:
CASE
  WHEN <search-condition-1> THEN <result-1>
  WHEN <search-condition-2> THEN <result-2>
...
  WHEN <search-condition-n> THEN <result-n>
  ELSE <default-result>
END

Le condizioni di ricerca possono essere arbitrariamente complesse e i risultati possono essere espressioni.

maiuscolo/minuscolo Forma del valore:
CASE <test-value>
  WHEN <comparand-value-1> THEN <result-1>
  WHEN <comparand-value-2> THEN <result-2>
...
  WHEN <comparand-value-n> THEN <result-n>
  ELSE <default-result>
END

I valori di test, i valori di confronto e i risultati possono essere espressioni.

cast (<valore> come <tipo>) È disponibile per convertire un tipo di dati in un altro tipo di dati. Per ulteriori informazioni, vedere Conversioni di cast.
coalescearg1, arg2, ...) Restituisce il primo argomento non nullo o nullo se tutti gli argomenti sono nulli. isnull è un sinonimo di compatibilità con SQL Server.
date_part ('campo', <valore temporale>) Simile a extract, estrae un campo numerico datetime o time zone da un valore datetime o intervallo. Ad esempio, date_time('day', <datetime-value>). Per un elenco degli argomenti validi, vedere Estrazione di valori di data e ora. Per la sintassi, vedere la Tabella 1.
decodificare(<espressione>, <search1>,<result1>, ...<ricerca N>, <risultato N>, <default>) Confronta l'<expr> con ciascun valore di ricerca. Se l'<expr> è uguale alla ricerca, la decodifica restituisce il risultato. Se non c'è corrispondenza, la decodifica restituisce il valore predefinito o, se il valore predefinito è omesso, restituisce null.

Per ulteriori informazioni, vedere Esempio di decodifica.

estrarre (campo da <valore temporale>) Estrae un campo numerico datetime o fuso orario da un valore datetime o intervallo. Ad esempio, extract(year from <datetime-value>). Per un elenco degli argomenti validi, vedere Estrazione di valori di data e ora. Per la sintassi, vedere la Tabella 1.
max(<espressione>, <espressione>, ...) Restituisce il valore massimo specificato in un insieme di due o più valori. Gli argomenti devono essere compatibili e ogni argomento deve essere un'espressione che restituisce un valore di qualsiasi tipo di dati. Il risultato è nullo se uno qualsiasi degli argomenti è nullo.
Nota: se si specifica una sola espressione, il sistema utilizza la funzione aggregata max() per elaborare il valore di input. Per una descrizione della funzione aggregata, vedere " Funzioni aggregate.
min(<espressione>, <espressione>, ...) Restituisce il valore minimo specificato in un insieme di due o più valori. Gli argomenti devono essere compatibili e ogni argomento deve essere un'espressione che restituisce un valore di qualsiasi tipo di dati. Il risultato è nullo se uno qualsiasi degli argomenti è nullo.
Nota: se si specifica una sola espressione, il sistema utilizza la funzione aggregata min() per elaborare il valore di input. Per una descrizione della funzione aggregata, vedere " Funzioni aggregate.
nullif(a,b) Restituisce un valore nullo se a=b, altrimenti restituisce a.
nvl(x,y) Restituisce il primo argomento se non è nullo, altrimenti restituisce il secondo argomento. Ad esempio, nvl(hire_date, current_date) restituisce current_date se hire_date è nullo.

nvl è equivalente alla funzione SQL coalesce ed è un'abbreviazione dell'espressione case "case when x is not null then x else y end" Per ulteriori informazioni, vedere l'esempio NVL.

nvl2(x,y,z) Restituisce il secondo argomento se il primo non è nullo, altrimenti restituisce il terzo argomento.

nvl2 è l'abbreviazione dell'espressione case "case when x is not null then y else z end" Per ulteriori informazioni, vedere l'esempioNVL2.