Funzione ER CASE
La funzione CASE
valuta il valore dell'espressione specificata rispetto alle opzioni alternative specificate e restituisce il risultato della prima opzione che è uguale al valore dell'espressione specificata. In caso contrario, restituisce il risultato predefinito facoltativo, se viene specificato un risultato predefinito come ultimo argomento della funzione richiamata che non è preceduto da un'opzione. Il valore restituito può essere un valore di uno qualsiasi dei tipi di dati supportati.
Sintassi
CASE (expression, option 1, result 1[, option 2, result 2, …, option N, result N, default result])
Argomenti
expression
: Tipo di dati primitivo (booleano, numerico o testo)
Un'espressione valida che restituisce un valore del tipo di dati primitivo.
option 1
: Tipo di dati primitivo (booleano, numerico o testo)
Un'espressione valida che restituisce un valore dello stesso tipo di dati primitivo come l'argomento expression
della funzione chiamata. Questo argomento è obbligatorio.
result 1
: Qualsiasi tipo di dati supportato
Il risultato restituito che corrisponde all'opzione precedente. Questo argomento è obbligatorio.
option N
: Tipo di dati primitivo (booleano, numerico o testo)
Un'espressione valida che restituisce un valore dello stesso tipo di dati primitivo come l'argomento expression
della funzione chiamata. Questo argomento è facoltativo.
result N
: Qualsiasi tipo di dati supportato
Il risultato restituito che corrisponde all'opzione precedente. Questo argomento è facoltativo.
default result
: Qualsiasi tipo di dati supportato
Il risultato che dovrebbe essere restituito se non c'è corrispondenza. Questo argomento è facoltativo.
Valori restituiti
Qualsiasi tipo di dati supportato
Il valore risultante di uno qualsiasi dei tipi di dati supportati.
Note sull'utilizzo
Viene generata un'eccezione in fase di runtime se non vi è corrispondenza e non viene definito un risultato predefinito facoltativo.
Tutti i risultati devono essere specificati utilizzando lo stesso tipo di dati. In fase di progettazione viene generata un'eccezione se i tipi di dati dei risultati configurati non corrispondono.
Se il primo valore dei risultati e il valore dei risultati N-esimo sono valori del tipo di dati Contenitore (record) o Elenco di record, il risultato ha solo i campi esistenti in entrambi i valori.
Esempio
CASE( DATETIMEFORMAT( NOW(), "MM"), "10", "WINTER", "11", "WINTER", "12", "WINTER", "")
restituisce la stringa "WINTER" se la data della sessione dell'applicazione corrente è compresa tra ottobre e dicembre. In caso contrario, restituisce una stringa vuota.