Gruppo Condizioni↵
Abstract
Questo gruppo contiene funzioni per gestire controlli condizionali nelle espressioni.
CASE↵
Valuta un'espressione e restituisce un risultato diverso, sia esso vero o falso. Puoi testare più condizioni
Sintassi:
[ ] indica componenti opzionali
Argomenti:
- WHEN condizione - L'espressione di condizione da valutare.
- THEN risultato - Se condizione valutata a True (vero) allora risultato viene valutato e restituito.
- ELSE risultato - Se nessuna delle condizioni valutate sopra restituisce True (vero) allora risultato viene valutato e restituito.
Esempi:
CASE
WHEN length( "DEN_REG") >15 THEN 'LUNGO'
WHEN length( "DEN_REG") <15 AND length( "DEN_REG") >10 THEN 'MEDIO'
ELSE 'CORTA'
END
Altri Esempi:
popolare un campo un funzione di un altro
CASE
WHEN "livello3" ILIKE 'A%' THEN 'ciao'
WHEN "livello3" ILIKE 'B%' THEN 'arrivederci'
WHEN "livello3" ILIKE 'C%' THEN 'ciaone'
ELSE 'CUCU'
END
In questo Esempio viene popolato un campo (dove è usata l'espressione) in funzione del campo livello3: se il campo contiene un valore che inizia per A allora scriverà ciao, se contiene un valore che inizia con B scriverà arrivederci; se contiene un valore che inizia per C scriverà ciaone in tutti gli altri casi scriverà CUCU
--
posizionamento etichetta
coalesce↵
Restituisce il primo valore non NULL dalla lista delle espressioni. Questa funzione può usare qualsiasi numero di Argomenti:.
Sintassi:
- coalesce(expression1, expression2, …)
Argomenti:
- expression qualsiasi valore o espressione valida, senza tener conto del tipo.
Esempi:
coalesce(NULL, 2) → 2
coalesce(NULL, 2, 3) → 2
coalesce(7, NULL, 3*2) → 7
coalesce("fieldA", "fallbackField", 'ERRORE') → valore di "fieldA" se non è NULL, altrimenti il valore di "fallbackField" o la stringa 'ERRORE' se sono entrambi NULL
Osservazioni:
Questa funzione è utile all'interno di una espressione che prevede l'uso di più campi ed uno o più di essi ha valore NULL, questo valore penalizza l'intera stringa e rende non visibile il risultato.
Esempio senza l'uso della funzione coalesce:
Esempio con l'uso della funzione coalesce:
if↵
Testa una condizione e restituisce un risultato diverso a seconda della verifica.
Sintassi:
- if(condition, result_when_true, result_when_false)
Argomenti:
- condition la condizione che deve essere controllata
- result_when_true il risultato che viene restituito quando la condizione è vera o un altro valore non si trasforma in falso.
- result_when_false il risultato che viene restituito quando la condizione è falsa o un altro valore si trasforma in falso come 0 o ''. NULL sarà inoltre convertito in falso.
Esempi:
if( 1+1=2, 'Sì', 'No' ) → 'Sì'
if( 1+1=3, 'Sì', 'No' ) → 'No'
if( 5 > 3, 1, 0) → 1
if( '', 'It is true (not empty)', 'It is false (empty)' ) → 'It is false (empty)'
if( ' ', 'It is true (not empty)', 'It is false (empty)' ) → 'It is true (not empty)'
if( 0, 'One', 'Zero' ) → 'Zero'
if( 10, 'One', 'Zero' ) → 'One'
Osservazioni:
--
nullif↵
Restituisce un valore nullo se value1 è uguale a value2; altrimenti restituisce value1. Questo può essere usato per sostituire in modo condizionale i valori con NULL
.
Sintassi:
- nullif(value1,value2)
Argomenti:
- value1 Il valore che dovrebbe essere utilizzato o sostituito con
NULL
. - value2 Il valore di controllo che attiverà la sostituzione
NULL
.
Esempi:
nullif('(none)', '(none)') → NULL
nullif('text', '(none)') → 'text'
nullif("name", '') → NULL, se "name" è una stringa vuota (o già NULL), "name" in qualsiasi altro caso.
regexp_match↵
Restituisce la prima posizione di corrispondenza che soddisfa un'espressione regolare all'interno di una stringa, o 0 se la sottostringa non viene trovata.
Sintassi:
- regexp_match(input_string, regex)
Argomenti:
- _input_string_ la stringa da confrontare con l'espressione regolare
- _regex_ L'espressione regolare da confrontare. I caratteri backslash devono essere doppiamente escaped (es "\s" per selezionare un carattere spazio bianco).
Esempi:
Osservazioni:
--
In questo Esempio la prima lettere di Fiandaca si trova alla posizione 10
try↵
Prova un'espressione e restituisce il suo valore se priva di errori. Se l'espressione restituisce un errore, verrà restituito un valore alternativo se fornito altrimenti la funzione restituirà null.
Sintassi:
- try(expression[,alternative])
[ ] contrassegna componenti opzionali
Argomenti:
- expression l'espressione che dovrebbe essere eseguita
- alternative il risultato che verrà restituito se l'espressione restituisce un errore
Esempi: